Jersey Weblogic:禁用泽西扫描

Jersey Weblogic:禁用泽西扫描,jersey,weblogic,jax-rs,weblogic12c,Jersey,Weblogic,Jax Rs,Weblogic12c,我的webapp包含一个库,其中包含一个用@javax.ws.rs.ext.Provider注释的类。如果存在此类,则my webapp(作为EAR中的WAR部署)无法启动,出现以下错误: <19-Jun-2014 14:41:50 o'clock BST> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with

我的webapp包含一个库,其中包含一个用
@javax.ws.rs.ext.Provider
注释的类。如果存在此类,则my webapp(作为EAR中的WAR部署)无法启动,出现以下错误:

<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
记录WebLogic用于加载的JAR和WAR文件的名称。您可以重命名或删除这些文件,并阻止WebLogic直接加载它们


我不清楚WebLogic是否真的使用了这些JAR文件。从我读到的所有内容来看,WebLogic在可部署库中提供JAR作为预构建的共享库,用于web应用程序,而不是WebLogic Server直接使用。

我有一个线索,可以通过设置属性
jersey.config.disableAutoDiscovery来禁用jersey扫描,但它对我来说还不起作用。有关更多详细信息,请参阅。

我的webapp是我分发给客户的,因此我会要求他们从weblogic实例中删除JAR,我认为他们非常不愿意这样做。如果我要进行这种程度的黑客攻击,那么作为构建的一部分,从jar中删除这个文件可能会更容易(尽管这是我试图避免的)。weblogic 12c的行为与11g(10.3.6)非常不同。我只想问一下,是否找到了相关的问题解决方案。因为我面临同样的问题,你能提出一个解决办法吗(我们能告诉Weblogic在web.xml中使用servlet版本到3.0时不要寻找Jersey JAR吗?关于我的问题有任何更新吗?