当我尝试在tomcat上部署我的项目时遇到此问题 . 我已经检查过Tomcat版本的编译版和JVM都是一样的......
不过,我无法弄清楚为什么会发生这个错误......
来自控制台的错误信息:
ContainerBase.addChild:start:org.apache.catalina.LifecycleException:无法在org.apache.catalina.util.LifecycleBase.start(LifecycleBase)启动组件[StandardEngine [Catalina] .StandardHost [localhost] .StandardContext [/ AddressBookBeta]] .java:153)org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)atg.apache.catalina . core.tandardHost.addChild(StandardHost.java:717)位于org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:587)org.apache.catalina.startup.HostConfig $ DeployDescriptor.run(HostConfig.java: 1798)at java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor .java:1142)java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:745)引起by:java.lang.NoClassDefFoundError:org / apache / tiles / request / ApplicationContext at java.lang.Class.getDeclaredFields0(Native Method)at java.lang.Class.privateGetDeclaredFields(Class.java:2583)at java.lang.Class位于org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)的.getDeclaredFields(Class.java:1916)org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:256)at org . 位于org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:63)的apache.catalina.startup.WebAnnotationSet.loadApplicationListenerAnnotations(WebAnnotationSet.java:86)org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig . java:335)org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:782)org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:306)at org.apache.catalina.util .LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:95)at或位于org.apache.catalina.util.LifecycleBase.start的org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5171)中的g.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) LifecycleBase.java:147)... 10更多引起:org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305)中的java.lang.ClassNotFoundException:org.apache.tiles.request.ApplicationContext .apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1139)... 24更多org.apache.catalina.startup.HostConfig deployDescriptor错误部署配置描述符/ Users / ChangGuoxuan / Desktop / TemporaryFiles / EclipseWorkspace / apache-tomcat -8.0.35 / conf / Catalina / localhost / AddressBookBeta.xml java.lang.IllegalStateException:ContainerBase.addChild:start:org.apache.catalina.LifecycleException:无法启动组件[StandardEngine [Catalina] .StandardHost [localhost] .StandardContext [/ AddressBookBeta]]在org.apache.catalina.c ore.ContainerBase.addChildInternal(ContainerBase.java:729)org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:587)at org.apache.catalina.startup.HostConfig $ DeployDescriptor.run(HostConfig.java:1798)at java.util.concurrent.Executors $ RunnableAdapter .call(Executors.java:511)位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)的java.util.concurrent.FutureTask.run(FutureTask.java:266)中的java.util.concurrent . ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:745)
这是我的web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>AddressBookBeta</display-name>
<context-param>
<param-name>org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG</param-name>
<param-value>/WEB-INF/tiles.xml</param-value>
</context-param>
<listener>
<listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-class>
</listener>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>/main/home.jsp</welcome-file>
</welcome-file-list>
</web-app>
这是struts.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.devMode" value="false"/>
<package name="menuDefault" extends="struts-default">
<action name="*Menu"
class="com.prj.action.MenuAction" method="{1}Menu">
<result name="home">home.jsp</result>
</action>
</package>
<package name="userDefault" extends="struts-default">
<result-types>
<result-type name="tiles"
class="org.apache.struts2.views.tiles.TilesResult"/>
</result-types>
<action name="loginUser" class="com.prj.action.UserAction" method="validateUser">
<result name="success">home.jsp</result>
<result name="login">/main/login.jsp</result>
</action>
<action name="registerUser" class="com.prj.action.UserAction" method="registerUser">
<result name="success">/main/register.jsp</result>
</action>
</package>
</struts>
我是struts2的新手,所以任何想法?