天天看点

Tomcat7启动报错Caused by: java.lang.NoClassDefFoundError: Lorg/apache/AnnotationProcessor;

2014-2-17 12:12:11 org.apache.catalina.core.AprLifecycleListener init

信息: Loaded APR based Apache Tomcat Native library 1.1.29 using APR version 1.4.8.

2014-2-17 12:12:11 org.apache.catalina.core.AprLifecycleListener init

信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].

2014-2-17 12:12:11 org.apache.catalina.core.AprLifecycleListener initializeSSL

信息: OpenSSL successfully initialized (OpenSSL 1.0.1e 11 Feb 2013)

2014-2-17 12:12:12 org.apache.coyote.AbstractProtocol init

信息: Initializing ProtocolHandler ["http-apr-8080"]

2014-2-17 12:12:12 org.apache.coyote.AbstractProtocol init

信息: Initializing ProtocolHandler ["ajp-apr-8009"]

2014-2-17 12:12:12 org.apache.catalina.startup.Catalina load

信息: Initialization processed in 1294 ms

2014-2-17 12:12:12 org.apache.catalina.core.StandardService startInternal

信息: Starting service Catalina

2014-2-17 12:12:12 org.apache.catalina.core.StandardEngine startInternal

信息: Starting Servlet Engine: Apache Tomcat/7.0.50

2014-2-17 12:12:12 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deploying web application directory D:\Workspaces\apache-tomcat-7.0.50\webapps\docs

2014-2-17 12:12:13 org.apache.tomcat.websocket.server.WsSci onStartup

信息: JSR 356 WebSocket (Java WebSocket 1.0) support is not available when running on Java 6. To suppress this message, run Tomcat on Java 7, remove the WebSocket JARs from $CATALINA_HOME/lib or add the WebSocketJARs to the tomcat.util.scan.DefaultJarScanner.jarsToSkip property in $CATALINA_BASE/conf/catalina.properties. Note that the deprecated Tomcat 7 WebSocket API will be available. 

2014-2-17 12:12:13 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deploying web application directory D:\Workspaces\apache-tomcat-7.0.50\webapps\examples

2014-2-17 12:12:14 org.apache.catalina.core.ApplicationContext log

信息: ContextListener: contextInitialized()

2014-2-17 12:12:14 org.apache.catalina.core.ApplicationContext log

信息: SessionListener: contextInitialized()

2014-2-17 12:12:14 org.apache.catalina.core.ApplicationContext log

信息: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', '[email protected]')

2014-2-17 12:12:14 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deploying web application directory D:\Workspaces\apache-tomcat-7.0.50\webapps\host-manager

2014-2-17 12:12:14 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deploying web application directory D:\Workspaces\apache-tomcat-7.0.50\webapps\manager

2014-2-17 12:12:14 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deploying web application directory D:\Workspaces\apache-tomcat-7.0.50\webapps\ROOT

2014-2-17 12:12:14 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deploying web application directory D:\Workspaces\apache-tomcat-7.0.50\webapps\spm

2014-2-17 12:12:26 org.apache.catalina.core.ContainerBase addChildInternal

严重: ContainerBase.addChild: start: 

org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/spm]]

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:634)

at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1230)

at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1876)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)

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:619)

Caused by: java.lang.NoClassDefFoundError: Lorg/apache/AnnotationProcessor;

at java.lang.Class.getDeclaredFields0(Native Method)

at java.lang.Class.privateGetDeclaredFields(Class.java:2291)

at java.lang.Class.getDeclaredFields(Class.java:1743)

at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)

at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:263)

at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:142)

at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:67)

at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:407)

at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:883)

at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:378)

at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)

at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5343)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

... 11 more

Caused by: java.lang.ClassNotFoundException: org.apache.AnnotationProcessor

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

... 25 more

2014-2-17 12:12:26 org.apache.catalina.startup.HostConfig deployDirectory

严重: Error deploying web application directory D:\Workspaces\apache-tomcat-7.0.50\webapps\spm

java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/spm]]

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:904)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:634)

at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1230)

at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1876)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)

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:619)

2014-2-17 12:12:26 org.apache.coyote.AbstractProtocol start

信息: Starting ProtocolHandler ["http-apr-8080"]

2014-2-17 12:12:26 org.apache.coyote.AbstractProtocol start

信息: Starting ProtocolHandler ["ajp-apr-8009"]

2014-2-17 12:12:26 org.apache.catalina.startup.Catalina start

信息: Server startup in 13716 ms

解决方法:

在src下建package org.apache;  添加AnnotationProcessor接口类 代码如下:

package org.apache;

import java.lang.reflect.InvocationTargetException;

import javax.naming.NamingException;

public interface AnnotationProcessor {
	public void postConstruct(Object instance) throws IllegalAccessException,
			InvocationTargetException;

	public void preDestroy(Object instance) throws IllegalAccessException,
			InvocationTargetException;

	public void processAnnotations(Object instance)
			throws IllegalAccessException, InvocationTargetException,
			NamingException;
}

           

继续阅读