如何修复在WebSphere ND 8.5上运行的Jersey2 REST应用程序找不到的类?

我一直在尝试在WebSphere ND 8.5上部署和运行基于Jersey2的REST应用程序。但是,它拒绝正确启动并给出以下错误:

  

com.ibm.ws.webcontainer.servlet.ServletWrapper运行SRVE8052E:记录ClassnotFoundException java.lang.ClassnotFoundException:org.glassfish.jersey.servlet.ServletContainer

我尝试解决了大多数相关问题,但没有一个对解决问题有帮助。

我尝试过的一些链接:

到目前为止,在我的本地设置中,EAR文件在Liberty概要文件服务器(嵌入eclipse)中正确运行。 Maven构建工作正常,并且库已正确复制。

我知道的一个差异是我使用的是Jersey2.xx,但仍带有web.xml中的条目。但是我不确定这怎么会导致ClassnotFoundException。

web.xml供参考:

y

奇怪的是,几天前,该应用程序至少在没有此错误的情况下启动,之后管理员“手动删除了旧文件”,然后在服务器上重新安装了该应用程序。这使我认为在此过程中有一些配置被删除/重置导致了此问题。

如何在没有WAS ND 8.5上出现此异常的情况下运行EAR?

编辑:添加完整的堆栈跟踪。我已经将类加载设置为PARENT_LAST,所以我猜应该使用模块的类加载器?

    <?xml version="1.0" encoding="UTF-8"?>
      <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">

      <display-name>MyRestApp</display-name>

      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>

      <servlet>
        <servlet-name>My REST Application</servlet-name>
        <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
        <init-param>
            <param-name>javax.ws.rs.Application</param-name>
            <param-value>com.vai.app.rest.main.MyRestApplication</param-value>
        </init-param>
        <init-param>
            <param-name>jersey.config.server.provider.packages</param-name>
            <param-value>com.vai.app.rest</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
      </servlet>

      <servlet-mapping>
        <servlet-name>My REST Application</servlet-name>
        <url-pattern>/rest/api/*</url-pattern>
      </servlet-mapping>
    </web-app>
kazmax 回答:如何修复在WebSphere ND 8.5上运行的Jersey2 REST应用程序找不到的类?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3050042.html

大家都在问