2

我正在使用 tomcat 7 + ZK 框架 + axis2 开发一个 Web 门户,以使用 Web 服务。过了一会儿,我开始收到此错误:

SEVERE: Servlet /twigo threw load() exception
java.lang.ClassNotFoundException: org.apache.axis2.transport.http.AxisAdminServlet
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:133)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1137)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1081)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

也许axis2 1.6与tomcat 7不兼容?

4

3 回答 3

6

这是一个奇怪的问题,即使添加了所有的 Apache Axis2 的 jars 恼人的异常仍然存在。Axis2 库(在我的情况下为 1.6.1)中不存在所需的类AxisAdminServlet 。由于它不再存在于框架本身中,我猜它不再需要,所以我从我的代码中删除了它。

你可以在 web.xml 中去掉这个,其中调用了 servlet。

web.xml 快照

于 2013-12-31T11:31:23.913 回答
4

web.xml 中可能有以下条目

<display-name>Apache-Axis Admin Servlet Web Admin</display-name>
    <servlet-name>AxisAdminServlet</servlet-name>
    <servlet-class>org.apache.axis2.transport.http.AxisAdminServlet</servlet-class>
    <load-on-startup>100</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>AxisAdminServlet</servlet-name>
    <url-pattern>/axis2-admin/*</url-pattern>
  </servlet-mapping>

如果是这样,请从解决问题的 web.xml 中删除此条目。

问候,基肖尔

于 2014-12-16T14:18:23.513 回答
0

与axis2不同版本有区别!在axis2 v1.8.0 中,web.xml 文件包含以下行:

<servlet>
    <display-name>Apache-Axis Servlet</display-name>
    <servlet-name>AxisServlet</servlet-name>
    <servlet-class>org.apache.axis2.webapp.AxisAdminServlet</servlet-class>
</servlet>
<servlet>
    <display-name>Apache-Axis Admin Servlet Web Admin</display-name>
    <servlet-name>AxisAdminServlet</servlet-name>
    <servlet-class>org.apache.axis2.transport.http.AxisAdminServlet</servlet-class>
    <load-on-startup>100</load-on-startup>
</servlet>

axis2 库必须包含标签servlet-class中显示的那些包/类

于 2022-02-25T08:58:57.897 回答