Meine Webanwendung enthält eine Bibliothek, die eine Klasse enthält, die mit @javax.ws.rs.ext.Provider
gekennzeichnet ist. Wenn diese Klasse vorhanden ist, meine Webapp (als IST innerhalb einer EAR-Einsatz) schlägt mit dem folgenden Fehler zu starten:Weblogic: Jersey-Scannen deaktivieren
<19-Jun-2014 14:41:50 o'clock BST> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID "1403185262187" for task "2". Error is: "weblogic.application.ModuleException: com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes."
weblogic.application.ModuleException: com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes.
at weblogic.application.internal.ExtensibleModuleWrapper.start(ExtensibleModuleWrapper.java:140)
at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:124)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:213)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:208)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
Truncated. see log file for complete stacktrace
Caused By: com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes.
at com.sun.jersey.server.impl.application.RootResourceUriRules.<init>(RootResourceUriRules.java:99)
at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1331)
at com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:168)
at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:774)
at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:770)
Truncated. see log file for complete stacktrace
Ich bin nicht Trikot mit überhaupt, ich bin kein JAX-RS-Verwendung Dienste, und meine web.xml enthält keine Jersey-Servlets. Ich verstehe nicht, warum Weblogic Trikots initialisiert und Gläser in meiner Bewerbung für Jaxrs-ähnliche Sachen scannt.
Die meisten Informationen, die ich im Internet dazu finden kann, führen dazu, dass Leute ihr Trikot-Servlet anders konfigurieren. Aber ich habe keine zu konfigurieren ...
Ich kontrolliere nicht die beleidigende Bibliothek, so dass das Entfernen der Klasse keine Option ist.
Also, wie kann ich weblogic sagen, meine Klassen nicht zu scannen, wenn es Jersey initialisiert?
Beachten Sie, dass dies passiert, nachdem ich meine web.xml zu Servlet 3.0 statt 2.4 geändert habe. Wenn ich es zurück in 2.4 ändere, ist alles in Ordnung.
Ich benutze Weblogic 12.1.2.0 (12c).
Update: stellt sich heraus, dass JAX-RS Scannen ist eine Schlüsselfunktion von Javaee 6 - die ganze Idee ist, dass Sie Ihre annotierten Klassen in Ihrer Webanwendung und Sie müssen keine Konfiguration vornehmen, um sie als ausgesetzt zu haben REST Webservice.
Ich möchte nur fragen, ob eine relevante Lösung für das Problem gefunden wurde oder nicht. Können Sie eine Arbeit vorschlagen, weil ich mit demselben Problem konfrontiert bin? :( Können wir Weblogic sagen, nicht nach Jersey-Gläsern zu suchen, während Servlet Version zu 3.0 in web.xml verwendet? – JavaBeigner
Irgendwelche Aktualisierung über mein Problem? – JavaBeigner