Tomcat Axis2 - не видя весенних банок - PullRequest
0 голосов
/ 21 апреля 2011

Я уже несколько часов читаю в Интернете информацию об этом, и я в растерянности.

Я успешно запустил Tomcat 7 с Axis2 в сервлете.Я могу просматривать JSPS без пружины просто отлично.В тот момент, когда я пытаюсь интегрировать весну, все разрушается.Мой журнал сервера выдает мне следующую ошибку:

   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, и файлы находятся в пути к классам для Axis2 (% AXIS2CLASSPATH%) и для Tomcat, настроенного с помощьюинтерфейс панели инструментов для сервиса.Это все на Windows 7 x64.

Я пытаюсь получить образец pojoguidespring, который идет с Axis2.

Это чистая установка, поэтому я могу разорвать ее, если мне нужнок.Может кто-нибудь дать мне несколько подробных указаний?Я схожу с ума здесь.

Заранее спасибо.


РЕДАКТИРОВАТЬ:

Хотя javax/servlet/ServletContextListener не класс Spring, его вызывают только тогда, когда явключите информацию о конфигурации контекста Springs в web.xml, например:

<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 находится в пути к классам (каталог lib) для Axis2 и Tomcat.Проверка банки показывает, что javax/servlet/ServletContextListener наиболее определенно доступно.Могу ли я получить еще одно предложение?

1 Ответ

2 голосов
/ 21 апреля 2011

javax/servlet/ServletContextListener не является классом Spring;это часть servlet.jar, которая должна поставляться с Tomcat.

%AXIS2CLASSPATH% подсказывает мне, что вы зависите от переменных среды для CLASSPATH.Это плохая идея.Tomcat должен уметь прекрасно все управлять, если вы поместите нужные JAR-файлы в нужные места.Нет необходимости в переменных окружения или изменении каких-либо сценариев запуска.

Ваш CLASSPATH сломан;Я бы это исправил.

...