gpt4 book ai didi

spring - Tomcat Axis2 - 没有看到 Spring jar

转载 作者:行者123 更新时间:2023-11-28 22:45:32 25 4
gpt4 key购买 nike

几个小时以来,我一直在网上阅读有关这方面的信息,但我不知所措。

我已经成功地让 Tomcat 7 在 servlet 中与 Axis2 一起运行。我可以很好地查看非基于 spring 的 jsps。当我尝试整合 spring 时,整个事情就崩溃了。我的服务器日志显示以下错误。

   SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1591)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4638)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5204)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5199)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletContextListener
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 25 more

我有 Spring 3.1.0.M1,jar 位于 Axis2 (%AXIS2CLASSPATH%) 和 Tomcat 的类路径中,通过服务的工具栏界面配置。这一切都在 Windows 7 x64 上。

我正在尝试让 Axis2 附带的 pojoguidespring 示例正常工作。

这是全新安装,因此如果需要我可以将其拆除。有人可以给我一些详细的指示吗?我要疯了。

提前致谢。


编辑:

同时 javax/servlet/ServletContextListener不是 Spring 类,只有当我在 web.xml 中包含 Springs 上下文配置信息时才会调用它,就像这样

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

servlet-api.jar 位于 Axis2 和 Tomcat 的类路径(lib 目录)中。检查 jar 显示 javax/servlet/ServletContextListener绝对可用。我可以得到另一个建议吗?

最佳答案

javax/servlet/ServletContextListener 不是 Spring 类;它是 Tomcat 应该附带的 servlet.jar 的一部分。

%AXIS2CLASSPATH% 向我建议您依赖于 CLASSPATH 的环境变量。这是一个坏主意。如果您将所需的 JAR 文件放在适当的位置,Tomcat 应该能够很好地管理一切。无需环境变量或更改任何启动脚本。

你的 CLASSPATH 坏了;我会解决这个问题。

关于spring - Tomcat Axis2 - 没有看到 Spring jar ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5737791/

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