Ошибка при запуске этого проекта в tomcat6 - PullRequest
0 голосов
/ 12 января 2011

Когда я запускаю мой проект в myeclipse с использованием tomcat6, он выдаст ошибку, например, что мне делать с этой ошибкой в ​​отношении класса Spring, но я загружу всю библиотеку Spring из myeclipse

Jan 12, 2011 5:24:09 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre1.6.0\bin;C:\Program Files\Genuitec\Common\plugins\com.genuitec.eclipse.easie.tomcat.myeclipse_8.6.0.me201007231647\tomcat\bin
Jan 12, 2011 5:24:10 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Jan 12, 2011 5:24:10 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 2559 ms
Jan 12, 2011 5:24:10 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Jan 12, 2011 5:24:10 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.13
Jan 12, 2011 5:24:19 PM org.apache.catalina.loader.WebappLoader start
SEVERE: LifecycleException 
java.lang.ClassNotFoundException: org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at org.apache.catalina.loader.WebappLoader.createClassLoader(WebappLoader.java:770)
    at org.apache.catalina.loader.WebappLoader.start(WebappLoader.java:639)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4196)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Jan 12, 2011 5:24:19 PM org.apache.catalina.core.ContainerBase addChildInternal
SEVERE: ContainerBase.addChild: start: 
LifecycleException:  start: :  java.lang.ClassNotFoundException: org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader
    at org.apache.catalina.loader.WebappLoader.start(WebappLoader.java:676)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4196)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Jan 12, 2011 5:24:19 PM org.apache.catalina.startup.HostConfig deployDirectory
SEVERE: Error deploying web application directory servlet
java.lang.IllegalStateException: ContainerBase.addChild: start: LifecycleException:  start: :  java.lang.ClassNotFoundException: org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:795)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Jan 12, 2011 5:24:19 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Jan 12, 2011 5:24:20 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Jan 12, 2011 5:24:20 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/219  config=null
Jan 12, 2011 5:24:20 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 9998 ms

Ответы [ 4 ]

1 голос
/ 12 января 2011
0 голосов
/ 09 января 2013

На этот вопрос трудно ответить, не спрашивая более подробно ... У меня была эта (или похожая) ошибка в разных ситуациях, одна из которых только что была решена.

Если вы запускаете приложение с помощью команды / меню Eclipse «Run As / Run on Server», то вы можете попробовать вручную добавить spring-instrument-tomcat-.jar в каталог установки Tomcat home / lib /, и попробуй еще раз; или (если вам на самом деле не нужны ни LTW, ни инструментарий) - проверьте, есть ли у вас loaderClass = "org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader" в вашем проекте ..webapp / META-INF / context.xml и удалите его. .

Если вы на самом деле используете Maven и работаете как «Run As / Maven ...» из eclipse (тогда - tomcat6: команда run; также можно делать из консоли), то это другая история. Следующая конфигурация POM работает как для развертывания на изолированном tomcat (если вы добавили пружинный JAR, как я описал выше), так и встроенного: ...

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <webResources>
                    <resource>
                        <targetPath>META-INF</targetPath>
                        <directory>src/main/config</directory>
                        <includes>
                            <include>context.xml</include>
                        </includes>
                    </resource>
                </webResources>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat6-maven-plugin</artifactId>
            <version>2.0</version>
            <configuration>
                <port>8080</port>
                <path>/</path>                  
                <update>true</update>               
                <classLoaderClass>org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader</classLoaderClass>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-instrument-tomcat</artifactId>
                    <version>${spring.version}</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

Примечание: файл TomcatInstrumentableClassLoader и файл META-INF / context.xml конфликтуют с плагином tomcat6-maven-plugin (который работает, когда файл context.xml отсутствует в src / main / webapp / META-INF / context.xml) поэтому мне пришлось переместить его в src / main / config, а затем позволить maven-war-plugin позаботиться об этом.

Ура, ИК.

0 голосов
/ 12 января 2011

Похоже, одна из весенних банок не на вашем пути к классам.

0 голосов
/ 12 января 2011

Ваш Tomcat был настроен на использование инструментария Springloader инструментария, но Spring отсутствует в вашем пути к классам.

Вам нужно удалить эту конфигурацию инструментария или добавить Spring в путь к классам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...