java - 从 axis-1.3.jar 升级到 axis-1.4-osgi.jar 时出现 ClassNotFoundException

标签 java jakarta-ee websphere axis

从 axis-1.3.jar 升级到 axis-1.4-osgi.jar 后出现以下错误

[9/16/19 6:13:07:783 CDT] 00000033 ServletWrappe E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: Uncaught exception created in one of the service methods of the servlet <Servlet_name> in application <application_name>. Exception created : java.lang.NoClassDefFoundError: org.apache.axis.encoding.Serializer
    at java.lang.J9VMInternals.verifyImpl(Native Method)
    at java.lang.J9VMInternals.verify(J9VMInternals.java:73)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:133)
    ...
    ...
    ...
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:718)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
    at com.ibm.ws.cache.servlet.ServletWrapper.serviceProxied(ServletWrapper.java:307)
    at com.ibm.ws.cache.servlet.CacheHook.handleFragment(CacheHook.java:576)
    at com.ibm.ws.cache.servlet.CacheHook.handleServlet(CacheHook.java:250)
    at com.ibm.ws.cache.servlet.ServletWrapper.service(ServletWrapper.java:259)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1694)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:970)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:508)
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:181)
    at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:879)
    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1592)
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:191)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:516)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:307)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:278)
    at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.determineNextChannel(SSLConnectionLink.java:1070)
    at com.ibm.ws.ssl.channel.impl.SSLConnectionLink$MyReadCompletedCallback.complete(SSLConnectionLink.java:644)
    at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1820)
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
    at com.ibm.io.async.AsyncChannelFuture$1.run(AsyncChannelFuture.java:205)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1662)
Caused by: java.lang.ClassNotFoundException: org.apache.axis.encoding.Serializer
    at java.net.URLClassLoader.findClass(URLClassLoader.java:457)
    at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:201)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:676)
    at com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:112)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:642)
    at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:62)
    at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:58)
    at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:513)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:642)
    ... 32 more

两个 JAR 都包含类 org.apache.axis.encoding.Serializer。那么,这个问题可能是什么原因造成的。

最佳答案

由于 org.apache.axis.encoding.Serializer 确实位于 axis-1.4-osgi.jar 中(您可以在 https://www.findjar.com/jar/mule/dependencies/maven2/org/apache/axis/axis/1.4-osgi/axis-1.4-osgi.jar.html?all=true 处查看),我的猜测是这个类在编译时出现在您的 IDE 中,但在应用程序启动/运行时不在服务器类路径中(通过检查堆栈跟踪,看起来您正在尝试运行 Web 应用程序并且出现异常发生在运行时)。

关于java - 从 axis-1.3.jar 升级到 axis-1.4-osgi.jar 时出现 ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57977069/

相关文章:

java - WAR 文件外部的库依赖项

WebSphere 中的 XPAthConstants.NODESET 出现 java.lang.VerifyError,但 Jetty 中没有

java - 如何在 Websphere 中创建 SSL 连接

java - 新的通用对象问题

spring - spring中的动态数据源路由

java - Eclipse 无法正确复制上下文

java - Websphere 上 dom4j 的空指针异常

java - 避免贫血域

java - 系统找不到指定的文件 - Tomcat 6 上运行的 WEB-INF 配置文件

java - 用排序后的字符串值填充空堆栈