Spring Tomcat Axis2-看不到弹簧罐

Spring Tomcat Axis2-看不到弹簧罐,spring,tomcat,configuration,axis2,Spring,Tomcat,Configuration,Axis2,我已经在网上读了好几个小时了,现在我不知所措 我已经成功地让Tomcat7在servlet中与Axis2一起运行。我可以很好地查看非基于spring的JSP。当我试图整合spring的时候,整个事情就破裂了。我的服务器日志显示以下错误 SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener java.lang.NoClassDe

我已经在网上读了好几个小时了,现在我不知所措

我已经成功地让Tomcat7在servlet中与Axis2一起运行。我可以很好地查看非基于spring的JSP。当我试图整合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
我有Spring3.1.0.M1,JAR位于Axis2(%AXIS2CLASSPATH%)和Tomcat的类路径中,通过服务的工具栏界面进行配置。这一切都在Windows7x64上完成

我正在尝试获取Axis2工作时附带的pojoguidespring示例

这是一个干净的安装,所以我可以拆除它,如果我需要。有人能给我一些详细的指示吗?我快疯了

提前谢谢


编辑:

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


上下文配置位置
/WEB-INF/applicationContext.xml
org.springframework.web.context.ContextLoaderListener


servlet-api.jar位于Axis2和Tomcat的类路径(lib目录)中。检查jar表明,
javax/servlet/ServletContextListener
是最可靠的。我能得到另一个建议吗?

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

%AXIS2CLASSPATH%
向我建议,类路径依赖于环境变量。这是个坏主意。如果你把你需要的罐子放在适当的地方,Tomcat应该能够管理好一切。不需要环境变量或更改任何启动脚本


你的类路径被破坏了;我会解决这个问题。

我之所以认为这是一个基于spring的问题,是因为只有在我尝试包含基于spring的示例时,日志中才会显示此错误。没有spring应用程序,我有了一个干净的开始。就修复类路径而言:文档都指向该环境变量。build.xml文件似乎包含lib目录中的任何文件。我在lib目录中找到了spring.jar。Axis2类路径:因此,我学到的是,虽然我使用过的所有其他基于java的应用程序都需要某种类型的类路径环境变量,但Axis2默认配置为使用其lib目录中的任何jar。这里的诀窍是,如果将其用作servlet,则需要在添加新依赖项时重新构建WAR。但是,这并没有解决spring的问题。据我所知,这些行应该让Axis2为spring设置contect信息<代码>contextConfigLocation/WEB-INF/applicationContext.xml org.springframework.WEB.context.ContextLoaderListener