gpt4 book ai didi

jersey - Weblogic:禁用 Jersey 扫描

转载 作者:行者123 更新时间:2023-12-04 02:30:04 28 4
gpt4 key购买 nike

我的 webapp 包含一个库,其中包含一个用 @javax.ws.rs.ext.Provider 注释的类。 .如果存在此类,我的 web 应用程序(在 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

我根本没有使用 Jersey ,我没有使用任何 jax-rs 服务,而且我的 web.xml 不包含与 Jersey 相关的 servlet。我不明白为什么 weblogic 初始化 jersey 并在我的应用程序中扫描 jars 以查找与 jaxrs 相关的东西。

我可以在互联网上找到的大多数与此相关的信息导致人们以不同的方式配置他们的 Jersey servlet。但是我没有配置...

我不控制有问题的库,所以删除类不是一个选项。

那么,如何告诉 weblogic 在初始化 jersey 时不要扫描我的类?

请注意,这是在将我的 web.xml 更改为 servlet 3.0 而不是 2.4 之后发生的。如果我将其改回 2.4,则一切正常。

我正在使用 weblogic 12.1.2.0 (12c)。

更新:事实证明 JAX-RS 扫描是 Javaee 6 的一个关键功能 - 整个想法是您将带注释的类放在您的 web 应用程序中,您不需要进行任何配置即可将它们作为 REST web 服务公开。

最佳答案

This page记录 WebLogic 用于加载 Jersey 的 JAR 和 WAR 文件的名称。您可以重命名或删除这些文件,只是阻止 WebLogic 直接加载它们。

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

关于jersey - Weblogic:禁用 Jersey 扫描,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24308639/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com