在eclipse里面,用tomcat启动maven项目时,不知什么时候,出现如下异常,搞了好长时间发现是项目 .classpath文件有问题
三月 01, 2018 1:24:32 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:mystudy1' did not find a matching property.
三月 01, 2018 1:24:32 下午 org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version: Apache Tomcat/8.0.50
三月 01, 2018 1:24:32 下午 org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built: Feb 7 2018 20:06:05 UTC
三月 01, 2018 1:24:32 下午 org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number: 8.0.50.0
三月 01, 2018 1:24:32 下午 org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name: Windows 7
三月 01, 2018 1:24:32 下午 org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version: 6.1
三月 01, 2018 1:24:32 下午 org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture: amd64
三月 01, 2018 1:24:32 下午 org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home: D:\Java2\jdk1.7.0_13\jre
三月 01, 2018 1:24:32 下午 org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version: 1.7.0_13-b20
三月 01, 2018 1:24:32 下午 org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor: Oracle Corporation
三月 01, 2018 1:24:32 下午 org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE: D:\workspace\maven1\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
三月 01, 2018 1:24:32 下午 org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME: D:\SoftworeInstalled\apache-tomcat-8.0.50
三月 01, 2018 1:24:32 下午 org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=D:\workspace\maven1\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
三月 01, 2018 1:24:32 下午 org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=D:\SoftworeInstalled\apache-tomcat-8.0.50
三月 01, 2018 1:24:32 下午 org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dwtp.deploy=D:\workspace\maven1\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
三月 01, 2018 1:24:32 下午 org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=D:\SoftworeInstalled\apache-tomcat-8.0.50\endorsed
三月 01, 2018 1:24:32 下午 org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dfile.encoding=UTF-8
三月 01, 2018 1:24:32 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\Java2\jdk1.7.0_13\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\Common Files\NetSarang;C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP\bin\x86;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;E:\Java2\jdk1.6.0_21\bin;;C:\Program Files\TortoiseSVN\bin;D:\Java2\jdk1.7.0_13\bin;D:\SoftworeInstalled\apache-maven-3.0.5\bin;D:\SoftworeInstalled\nexus-latest-bundle\nexus-2.11.1-01\bin;D:\SoftworeInstalled\apache-ant-1.8.2\bin;D:/SoftworeInstalled/mysql-5.6.17-winx64\bin;C:\Program Files (x86)\IDM Computer Solutions\UltraCompare\;D:\Java2\jdk1.7.0_13\bin;D:\SoftworeInstalled\apache-maven-3.0.5\bin;D:\SoftworeInstalled\nexus-latest-bundle\nexus-2.11.1-01\bin;D:\SoftworeInstalled\apache-ant-1.8.2\bin;.
三月 01, 2018 1:24:32 下午 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
三月 01, 2018 1:24:32 下午 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
三月 01, 2018 1:24:32 下午 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-nio-8009"]
三月 01, 2018 1:24:32 下午 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
三月 01, 2018 1:24:32 下午 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1637 ms
三月 01, 2018 1:24:32 下午 org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
三月 01, 2018 1:24:32 下午 org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.0.50
三月 01, 2018 1:24:33 下午 org.apache.catalina.core.ContainerBase startInternal
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException
:
org.apache.catalina.LifecycleException
: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/mystudy1]]
at java.util.concurrent.FutureTask$Sync.innerGet(
FutureTask.java:252
)
at java.util.concurrent.FutureTask.get(
FutureTask.java:111
)
at org.apache.catalina.core.ContainerBase.startInternal(
ContainerBase.java:943
)
at org.apache.catalina.core.StandardHost.startInternal(
StandardHost.java:871
)
at org.apache.catalina.util.LifecycleBase.start(
LifecycleBase.java:145
)
at org.apache.catalina.core.ContainerBase$StartChild.call(
ContainerBase.java:1408
)
at org.apache.catalina.core.ContainerBase$StartChild.call(
ContainerBase.java:1398
)
at java.util.concurrent.FutureTask$Sync.innerRun(
FutureTask.java:334
)
at java.util.concurrent.FutureTask.run(
FutureTask.java:166
)
at java.util.concurrent.ThreadPoolExecutor.runWorker(
ThreadPoolExecutor.java:1145
)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:615
)
at java.lang.Thread.run(
Thread.java:722
)
Caused by:
org.apache.catalina.LifecycleException
: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/mystudy1]]
at org.apache.catalina.util.LifecycleBase.start(
LifecycleBase.java:162
)
... 7 more
Caused by: java.lang.NoClassDefFoundError: Lorg/apache/commons/logging/Log;
at java.lang.Class.getDeclaredFields0(
Native Method
)
at java.lang.Class.privateGetDeclaredFields(
Class.java:2317
)
at java.lang.Class.getDeclaredFields(
Class.java:1762
)
at org.apache.catalina.util.Introspection.getDeclaredFields(
Introspection.java:106
)
at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(
WebAnnotationSet.java:267
)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationListenerAnnotations(
WebAnnotationSet.java:87
)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(
WebAnnotationSet.java:65
)
at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(
ContextConfig.java:336
)
at org.apache.catalina.startup.ContextConfig.configureStart(
ContextConfig.java:785
)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(
ContextConfig.java:307
)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(
LifecycleSupport.java:95
)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(
LifecycleBase.java:90
)
at org.apache.catalina.core.StandardContext.startInternal(
StandardContext.java:5221
)
at org.apache.catalina.util.LifecycleBase.start(
LifecycleBase.java:145
)
... 7 more
Caused by:
java.lang.ClassNotFoundException
: org.apache.commons.logging.Log
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(
WebappClassLoaderBase.java:1335
)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(
WebappClassLoaderBase.java:1163
)
... 21 more
三月 01, 2018 1:24:33 下午 org.apache.catalina.core.ContainerBase startInternal
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException
:
org.apache.catalina.LifecycleException
: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
at java.util.concurrent.FutureTask$Sync.innerGet(
FutureTask.java:252
)
at java.util.concurrent.FutureTask.get(
FutureTask.java:111
)
at org.apache.catalina.core.ContainerBase.startInternal(
ContainerBase.java:943
)
at org.apache.catalina.core.StandardEngine.startInternal(
StandardEngine.java:262
)
at org.apache.catalina.util.LifecycleBase.start(
LifecycleBase.java:145
)
at org.apache.catalina.core.StandardService.startInternal(
StandardService.java:441
)
at org.apache.catalina.util.LifecycleBase.start(
LifecycleBase.java:145
)
at org.apache.catalina.core.StandardServer.startInternal(
StandardServer.java:789
)
at org.apache.catalina.util.LifecycleBase.start(
LifecycleBase.java:145
)
at org.apache.catalina.startup.Catalina.start(
Catalina.java:641
)
at sun.reflect.NativeMethodAccessorImpl.invoke0(
Native Method
)
at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:57
)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:43
)
at java.lang.reflect.Method.invoke(
Method.java:601
)
at org.apache.catalina.startup.Bootstrap.start(
Bootstrap.java:349
)
at org.apache.catalina.startup.Bootstrap.main(
Bootstrap.java:483
)
Caused by:
org.apache.catalina.LifecycleException
: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
at org.apache.catalina.util.LifecycleBase.start(
LifecycleBase.java:162
)
at org.apache.catalina.core.ContainerBase$StartChild.call(
ContainerBase.java:1408
)
at org.apache.catalina.core.ContainerBase$StartChild.call(
ContainerBase.java:1398
)
at java.util.concurrent.FutureTask$Sync.innerRun(
FutureTask.java:334
)
at java.util.concurrent.FutureTask.run(
FutureTask.java:166
)
at java.util.concurrent.ThreadPoolExecutor.runWorker(
ThreadPoolExecutor.java:1145
)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:615
)
at java.lang.Thread.run(
Thread.java:722
)
Caused by:
org.apache.catalina.LifecycleException
: A child container failed during start
at org.apache.catalina.core.ContainerBase.startInternal(
ContainerBase.java:951
)
at org.apache.catalina.core.StandardHost.startInternal(
StandardHost.java:871
)
at org.apache.catalina.util.LifecycleBase.start(
LifecycleBase.java:145
)
... 7 more
三月 01, 2018 1:24:33 下午 org.apache.catalina.startup.Catalina start
SEVERE: The required Server component failed to start so Tomcat is unable to start.
org.apache.catalina.LifecycleException
: Failed to start component [StandardServer[8005]]
at org.apache.catalina.util.LifecycleBase.start(
LifecycleBase.java:162
)
at org.apache.catalina.startup.Catalina.start(
Catalina.java:641
)
at sun.reflect.NativeMethodAccessorImpl.invoke0(
Native Method
)
at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:57
)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:43
)
at java.lang.reflect.Method.invoke(
Method.java:601
)
at org.apache.catalina.startup.Bootstrap.start(
Bootstrap.java:349
)
at org.apache.catalina.startup.Bootstrap.main(
Bootstrap.java:483
)
Caused by:
org.apache.catalina.LifecycleException
: Failed to start component [StandardService[Catalina]]
at org.apache.catalina.util.LifecycleBase.start(
LifecycleBase.java:162
)
at org.apache.catalina.core.StandardServer.startInternal(
StandardServer.java:789
)
at org.apache.catalina.util.LifecycleBase.start(
LifecycleBase.java:145
)
... 7 more
Caused by:
org.apache.catalina.LifecycleException
: Failed to start component [StandardEngine[Catalina]]
at org.apache.catalina.util.LifecycleBase.start(
LifecycleBase.java:162
)
at org.apache.catalina.core.StandardService.startInternal(
StandardService.java:441
)
at org.apache.catalina.util.LifecycleBase.start(
LifecycleBase.java:145
)
... 9 more
Caused by:
org.apache.catalina.LifecycleException
: A child container failed during start
at org.apache.catalina.core.ContainerBase.startInternal(
ContainerBase.java:951
)
at org.apache.catalina.core.StandardEngine.startInternal(
StandardEngine.java:262
)
at org.apache.catalina.util.LifecycleBase.start(
LifecycleBase.java:145
)
... 11 more
三月 01, 2018 1:24:33 下午 org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-nio-8080"]
三月 01, 2018 1:24:33 下午 org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-nio-8009"]
三月 01, 2018 1:24:33 下午 org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
三月 01, 2018 1:24:33 下午 org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-nio-8080"]
三月 01, 2018 1:24:33 下午 org.apache.coyote.AbstractProtocol destroy
SEVERE: Failed to destroy end point associated with ProtocolHandler ["http-nio-8080"]
java.lang.NullPointerException
at org.apache.tomcat.util.net.NioEndpoint.releaseCaches(
NioEndpoint.java:315
)
at org.apache.tomcat.util.net.NioEndpoint.unbind(
NioEndpoint.java:491
)
at org.apache.tomcat.util.net.AbstractEndpoint.destroy(
AbstractEndpoint.java:896
)
at org.apache.coyote.AbstractProtocol.destroy(
AbstractProtocol.java:551
)
at org.apache.catalina.connector.Connector.destroyInternal(
Connector.java:1023
)
at org.apache.catalina.util.LifecycleBase.destroy(
LifecycleBase.java:292
)
at org.apache.catalina.core.StandardService.destroyInternal(
StandardService.java:589
)
at org.apache.catalina.util.LifecycleBase.destroy(
LifecycleBase.java:292
)
at org.apache.catalina.core.StandardServer.destroyInternal(
StandardServer.java:879
)
at org.apache.catalina.util.LifecycleBase.destroy(
LifecycleBase.java:292
)
at org.apache.catalina.startup.Catalina.start(
Catalina.java:645
)
at sun.reflect.NativeMethodAccessorImpl.invoke0(
Native Method
)
at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:57
)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:43
)
at java.lang.reflect.Method.invoke(
Method.java:601
)
at org.apache.catalina.startup.Bootstrap.start(
Bootstrap.java:349
)
at org.apache.catalina.startup.Bootstrap.main(
Bootstrap.java:483
)
三月 01, 2018 1:24:33 下午 org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-nio-8009"]
三月 01, 2018 1:24:33 下午 org.apache.coyote.AbstractProtocol destroy
SEVERE: Failed to destroy end point associated with ProtocolHandler ["ajp-nio-8009"]
java.lang.NullPointerException
at org.apache.tomcat.util.net.NioEndpoint.releaseCaches(
NioEndpoint.java:315
)
at org.apache.tomcat.util.net.NioEndpoint.unbind(
NioEndpoint.java:491
)
at org.apache.tomcat.util.net.AbstractEndpoint.destroy(
AbstractEndpoint.java:896
)
at org.apache.coyote.AbstractProtocol.destroy(
AbstractProtocol.java:551
)
at org.apache.catalina.connector.Connector.destroyInternal(
Connector.java:1023
)
at org.apache.catalina.util.LifecycleBase.destroy(
LifecycleBase.java:292
)
at org.apache.catalina.core.StandardService.destroyInternal(
StandardService.java:589
)
at org.apache.catalina.util.LifecycleBase.destroy(
LifecycleBase.java:292
)
at org.apache.catalina.core.StandardServer.destroyInternal(
StandardServer.java:879
)
at org.apache.catalina.util.LifecycleBase.destroy(
LifecycleBase.java:292
)
at org.apache.catalina.startup.Catalina.start(
Catalina.java:645
)
at sun.reflect.NativeMethodAccessorImpl.invoke0(
Native Method
)
at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:57
)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:43
)
at java.lang.reflect.Method.invoke(
Method.java:601
)
at org.apache.catalina.startup.Bootstrap.start(
Bootstrap.java:349
)
at org.apache.catalina.startup.Bootstrap.main(
Bootstrap.java:483
)
=====解决方案==================================================================================
直接替换 .classpath文件,找一个正常的文件替换即可
方法一:可以找到项目目录,找到.classpath,进行文件替换
方法二:在eclipse修改,操作如下:
Window-->Show View-->Other-->Navigator-->OK
找到.classpath,进行替换
下面.classpath文件内容是我的电脑上的,仅供参考
==============================================================================================
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
classpath
>
<
classpathentry
kind
=
"src"
output
=
"target/classes"
path
=
"src/main/java"
>
<
attributes
>
<
attribute
name
=
"optional"
value
=
"true"
/>
<
attribute
name
=
"maven.pomderived"
value
=
"true"
/>
</
attributes
>
</
classpathentry
>
<
classpathentry
excluding
=
"**"
kind
=
"src"
output
=
"target/classes"
path
=
"src/main/resources"
>
<
attributes
>
<
attribute
name
=
"maven.pomderived"
value
=
"true"
/>
</
attributes
>
</
classpathentry
>
<
classpathentry
kind
=
"src"
output
=
"target/test-classes"
path
=
"src/test/java"
>
<
attributes
>
<
attribute
name
=
"optional"
value
=
"true"
/>
<
attribute
name
=
"maven.pomderived"
value
=
"true"
/>
</
attributes
>
</
classpathentry
>
<
classpathentry
kind
=
"con"
path
=
"org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"
>
<
attributes
>
<
attribute
name
=
"maven.pomderived"
value
=
"true"
/>
<
attribute
name
=
"org.eclipse.jst.component.dependency"
value
=
"/WEB-INF/lib"
/>
</
attributes
>
</
classpathentry
>
<
classpathentry
kind
=
"con"
path
=
"org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"
/>
<
classpathentry
kind
=
"output"
path
=
"target/classes"
/>
</
classpath
>