1

在运行应用程序时,我收到以下错误。该错误仅在运行时出现。它已经编译成功。

它在eclipse下运行没有任何问题。但是使用 Apache 轴,我们在上传到服务器时会得到以下错误跟踪。Apache axis2 jar 文件在运行时没有占用。但是编译成功。

该应用程序在 Oracle R12 服务器下运行。我没有找到在 R12 服务器中为运行时设置类路径的任何选项。

使用 Java 版本为 1.6 和 Apache axis2.1.6.2

错误跟踪:

Exception :java.lang.NoClassDefFoundError: Could not initialize class org.apache.axis2.description.AxisService
Error : java.lang.NoClassDefFoundError: Could not initialize class org.apache.axis2.description.AxisService
com.rightnow.ws.wsdl.RightNowSyncServiceStub.populateAxisService(RightNowSyncServiceStub.java:41)
com.rightnow.ws.wsdl.RightNowSyncServiceStub.(RightNowSyncServiceStub.java:636)
com.rightnow.ws.wsdl.RightNowSyncServiceStub.(RightNowSyncServiceStub.java:625)
com.rightnow.ws.wsdl.RightNowSyncServiceStub.(RightNowSyncServiceStub.java:673)
com.rightnow.ws.wsdl.RightNowSyncServiceStub.(RightNowSyncServiceStub.java:665)
com.rightnow.ws.util.ContactUtils.initializeService(ContactUtils.java:57)
_somejsp._jspService(_somejsp.java:189)
com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:473)
oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26)
com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318)
com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:642)
com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391)
com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908)
com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458)
com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)
com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)
oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
java.lang.Thread.run(Thread.java:619)
4

2 回答 2

0

当 Java 虚拟机无法在运行时找到在编译期间可用的特定类时,Java 中的 NoClassDefFoundError 就会出现。我相信您的服务器中应该缺少或放错了axis.jar。再次检查它。

于 2013-01-25T07:05:44.380 回答
0

您需要在服务器的 lib 目录中拥有所有与 axis2 相关的库,或者它们需要与您的 .war 文件一起打包。

要在 Eclipse 中处理此问题,请选择您的项目并转到

属性-> 部署程序集-> 添加-> Java 构建路径条目

并添加所有axis2 jar。这将确保所有相关的 jar 都与您的 .war 捆绑在一起

另一种解决方案是将所有axis2 jars硬拷贝到WebContent/WEB-INF/lib

于 2013-01-25T07:52:33.217 回答