我得到这个Tomcat错误:
Sep 09, 2012 4:16:54 PM org.apache.catalina.core.AprLifecycleListener init
Information: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Products\jdk1.7.0_03\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Products/jdk1.7.0_03/jre/bin/client;C:/Products/jdk1.7.0_03/jre/bin;C:/Products/jdk1.7.0_03/jre/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Products\jdk1.7.0_03\jre\bin;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Products\eclipse32;;.
Sep 09, 2012 4:16:54 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
Warnung: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:NAR_JDBC_DBO' did not find a matching property.
Sep 09, 2012 4:16:55 PM org.apache.coyote.AbstractProtocol init
Information: Initializing ProtocolHandler ["http-bio-80"]
Sep 09, 2012 4:16:55 PM org.apache.coyote.AbstractProtocol init
Information: Initializing ProtocolHandler ["ajp-bio-8009"]
Sep 09, 2012 4:16:55 PM org.apache.catalina.startup.Catalina load
Information: Initialization processed in 1008 ms
Sep 09, 2012 4:16:55 PM org.apache.catalina.core.StandardService startInternal
Information: Starting service Catalina
Sep 09, 2012 4:16:55 PM org.apache.catalina.core.StandardEngine startInternal
Information: Starting Servlet Engine: Apache Tomcat/7.0.27
Sep 09, 2012 4:16:55 PM org.apache.catalina.core.ContainerBase startInternal
Schwerwiegend: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/NAR_JDBC_DBO]]
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:1128)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:782)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556)
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:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/NAR_JDBC_DBO]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
... 7 more
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/digester/RuleSet
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2308)
at java.lang.Class.getDeclaredFields(Class.java:1760)
at org.apache.catalina.startup.WebAnnotationSet.getDeclaredFields(WebAnnotationSet.java:452)
at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:257)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:136)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:66)
at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:381)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:858)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:345)
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:5161)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 7 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.digester.RuleSet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
... 21 more
Sep 09, 2012 4:16:55 PM org.apache.catalina.core.ContainerBase startInternal
Schwerwiegend: 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:1128)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.startup.Catalina.start(Catalina.java:675)
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:322)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556)
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:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
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:1136)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:782)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 7 more
Sep 09, 2012 4:16:55 PM org.apache.catalina.startup.Catalina start
Schwerwiegend: Catalina.start:
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.startup.Catalina.start(Catalina.java:675)
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:322)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 7 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 9 more
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1136)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 11 more
Sep 09, 2012 4:16:55 PM org.apache.catalina.startup.Catalina start
Information: Server startup in 540 ms
问题是什么?我使用的是Apache Tomcat 7,使用了以下4个catalina jar:
是否缺少其他任何JAR文件?
答案 0 :(得分:19)
Apache Commons Digester您遗失了commons-digester3-3.2.jar
。如果您使用的是Maven,可以添加:
<dependency>
<groupId>commons-digester</groupId>
<artifactId>commons-digester</artifactId>
<version>2.1</version>
</dependency>
到您的项目依赖项。
<强>更新强> 最新下载页面中的jar与您的应用程序所期望的包结构略有不同。您可以改为使用this older jar。
答案 1 :(得分:11)
我在tomcat服务器上遇到了同样的问题,但是当我深入检查时,我发现我在我的web.xml文件中添加了一个新标签,服务器不接受它,所以检查你的文件是否有任何更新然后重启你的雄猫将会很好。
答案 2 :(得分:8)
如果您使用eclipse,则删除tomcat服务器和Server文件夹,然后重新配置 那两个......
答案 3 :(得分:7)
网络模块 - &gt;属性 - &gt;部署组件 - &gt; (添加文件夹“src / main / webapp”,Maven Dependencies和其他所需模块)
答案 4 :(得分:5)
我在Java EE Eclipse中运行时得到了这个。这里的答案都没有帮助。最终为我做的是:
我一直在做maven干净安装,错误不会消失。怪异。
答案 5 :(得分:4)
嗯,我不确定实际原因是什么,但我已经为这个错误做了这种方式。我已经注释掉了这个forlet及其工作的注释。
//@WebServlet("/HelloWorld")
public class HelloWorld extends HttpServlet {
不知道这可能是正确的解决方案。但这有用,另一件可以测试的事情是将servlet jar添加到类路径中。这可能有用。
答案 6 :(得分:4)
我猜你正在使用Dynamic Web Project,因为你在评论中提到了de文件夹WEB-INF / lib;如果是,请确保您没有将任何* -servlet jar文件放在此文件夹或容器已提供的其他jar中,在本例中为Tomcat。 另外:一旦我使用了jersey-servlet.jar,我需要将它从lib文件夹中删除,以便Tomcat启动时没有问题;然后我只使用jersey-bundle.jar,效果很好。
答案 7 :(得分:3)
即使尝试了“mvn eclipse:eclipse -Dwtpversion = 2.0”和“mvn clean install”,我也遇到了同样的问题。但在我清理我的服务器后,它才起作用。所以也许在你确定你需要所有依赖之后尝试清理服务器。
答案 8 :(得分:2)
我有同样的问题。经过多次搜索,我决定在Eclipse中重新配置我的服务器。 (即按照Benson的建议清洁它 转到项目浏览器,服务器和删除(确保您还删除磁盘上的内容) 然后转到Windows-&gt; Preferences-&gt; Server-&gt; Runtime Environments 删除Tomcat服务器,然后将其重新添加。
这将清除server.xml,webxml,context.xml文件。它基本上重写了它们。在我的一个(或多个东西)中的某些东西是错误的,这解决了它。比试图找到有问题的标签/线更简单
答案 9 :(得分:1)
我遇到了这个错误,尝试了几个你提到的方法仍然没有用的方法。我甚至试图重新安装Tomcat,仍然有这个错误。
我做的最后一件事是删除整个Netbeans和Tomcat。它终于成功了。我知道这不是解决问题的好方法,但如果你真的很匆忙而且不知道该怎么做。
答案 10 :(得分:1)
通过在项目上运行mvn clean install
并更正所有错误
通常,如果您的类路径中没有依赖项,则会出现此错误。
如果您使用的是tomcat maven插件,请尝试使用以下命令部署您的战争
tomcat7:run-war-only
答案 11 :(得分:1)
Windows - &gt;偏好 - &gt;服务器 - &gt;运行时环境 - &gt;删除所有可用的Apache服务器。添加相同。现在在服务器上运行您的应用完成 :)
答案 12 :(得分:1)
即使我有同样的问题
Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/]
我已经添加了相应的依赖,因为它对我有用。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
答案 13 :(得分:0)
只需清理您的服务器(就我而言,我使用的是 Tomcat):
mvn clean
mvn install
答案 14 :(得分:0)
尝试在pom.xml中添加此maven依赖项:
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2</version>
</dependency>
答案 15 :(得分:0)
在互联网上花费了大量时间后。我发现该选项没有 为我努力工作 右键单击服务器->清洁。没用。
有效的是:
您只需在<absolute-ordering/>
标签下面将<display-name>
标签添加到您的 web.xml ,它应该可以使用。for more detail click here
答案 16 :(得分:0)
我已经在WEB INF的lib文件夹中更改了所有春季版本的jar,如果您使用的是maven项目,则只需使用其他版本更新依赖项就可以了
答案 17 :(得分:0)
我认为您使用的部署描述符和依赖项存在问题。
我在做这些事情时遇到了同样的问题。 更新您的POM.XML
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.17</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.17</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.17</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple -->
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>
此外,将此代码仅在POM.XML下的build标签内添加,因为Container需要知道资源文件的配置位置。
<build>
<finalName>HatchWaysAppAPI</finalName>
<sourceDirectory>src/main/resources</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
根据需要更改资源文件夹。
您的Web.xml应该是这样的。
<servlet>
<servlet-name>HatchWaysAppAPI Maven Webapp</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.hatchwaysapi.mainController</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>HatchWaysAppAPI Maven Webapp</servlet-name>
<url-pattern>/v1/*</url-pattern>
</servlet-mapping>
注意:仅当您不使用Maven而不是忽略Pom.XML时,才对Maven进行此配置。只需对Web.xml进行配置。
答案 18 :(得分:0)
发布此解决方案可能会对某人有所帮助
我在Tomcat 8.0上遇到了类似的问题。似乎tomcat jar文件已损坏。因此,我刚刚下载了新的Tomcat 8.0,将其解压缩并使用Eclipse IDE进行了配置。还要检查首选项菜单下的Project Facet。
答案 19 :(得分:0)
对我来说,我做了mvn clean
,然后重新启动了Tomcat。它对我有用
答案 20 :(得分:0)
我在web.xml中提到的过滤器名称不存在。纠正错字后,它可以正常工作。
答案 21 :(得分:0)
我遇到了由此嵌套异常引起的同样问题
Caused by: java.util.zip.ZipException: invalid LOC header (bad signature)
at java.util.zip.ZipFile.read(Native Method)
at java.util.zip.ZipFile.access$1400(ZipFile.java:60)
仔细观察发现这是由于弹簧版本有一个不好的签名。将spring版本更改为4.3.4,构建和部署。一切正常。
HTH
答案 22 :(得分:0)
如果您使用的是动态网络项目,请确保已将&#34; WebContent&gt;中的jar文件添加为 commons-logging-1.2.jar 。 WEB-INF&gt; LIB&#34;文件夹中。
与你一起可以做更多的步骤:
右键点击项目&gt;属性&gt;目标运行时&gt;从列表中选择Apache Tomcat服务器&gt;申请&gt;确定。
转到服务器标签&gt;右键单击服务器配置&gt;属性&gt;一般&gt;切换位置(例如/ / Servers / Tomcat / .....)&gt;申请&gt;确定。
这就是全部!
答案 23 :(得分:0)
这是因为一个或所有maven依赖项已损坏。只需删除损坏的依赖项或所有maven本地依赖项,然后重新启动eclipse并更新项目。
答案 24 :(得分:0)
在intelliJ中,我在app server配置中为Tomcat Home和Tomcat基目录指定了两个不同的tomcat版本/文件夹
答案 25 :(得分:0)
所有我找到的解决方案,无论你得到什么,例如.. org.apache.catalina.LifecycleException:无法启动组件[StandardEngine [Catalina] .StandardHost [localhost] .StandardContext []] ..
罐子的路径问题..
要解决这个问题..将所有罐子放在“WebContent / lib”中,无论您在项目中需要什么。 我希望它对你有用......
答案 26 :(得分:0)
在发布项目时创建server.xml。现在如果稍后添加更多依赖项,则server.xml将无法捕获它,除非再次刷新。有时您还需要重建context / config文件。 首先,您尝试清理工作目录。如果它不起作用,则删除服务器和服务器文件夹,然后重新配置这两个。
答案 27 :(得分:0)
我在web.ml中配置了一个servlet,我再次使用servlet类中的注释配置了相同的servlet。我删除了基于注释的配置,然后服务器正常启动。
答案 28 :(得分:0)
我遇到了同样的问题。
org.apache.catalina.LifecycleException:无法启动组件[StandardEngine [Catalina] .StandardHost [localhost] .StandardContext []]
已经是所有的机器人。我的pom.xml:
http://maven.apache.org/xsd/maven-4.0.0.xsd“&GT; 4.0.0 com.springapp 战争 1.0-SNAPSHOT 战争 租金&LT; /名称&gt; - &GT;
<properties>
<spring.version>4.1.1.RELEASE</spring.version>
<spring.security.version>3.2.6.RELEASE</spring.security.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<!--Spring Security-->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>${spring.security.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>${spring.security.version}</version>
</dependency>
<!--JUnit-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
</dependencies>
<build>
<finalName>war</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/*Test.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
答案 29 :(得分:-2)
要解决此问题,您必须删除目录中的.snap文件:
<workspace-directory>\.metadata\.plugins\org.eclipse.core.resources
。
删除此文件后,您可以毫无问题地启动Eclipse。