java 无法启动组件 [StandardEngine[Catalina].StandardHost[localhost]
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/41377860/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Failed to start component [StandardEngine[Catalina].StandardHost[localhost]
提问by Saurabh Mehta
When trying to start tomcat I get this error. What could be the cause of this?
尝试启动 tomcat 时出现此错误。这可能是什么原因?
I've go through a bunch of similar posts and I can't find anything.
我浏览了一堆类似的帖子,但找不到任何内容。
I am using Apache Tomcat v8.0and JRE 1.8.0
我正在使用 Apache Tomcat v8.0和 JRE 1.8.0
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ocmsLatest]]
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:915)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ocmsLatest]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
... 6 more
Caused by: java.lang.SecurityException: SHA1 digest error for javax/activation/MimeTypeParameterList.class
at sun.security.util.ManifestEntryVerifier.verify(Unknown Source)
at java.util.jar.JarVerifier.processEntry(Unknown Source)
at java.util.jar.JarVerifier.update(Unknown Source)
at java.util.jar.JarVerifier$VerifierStream.read(Unknown Source)
at java.io.InputStream.skip(Unknown Source)
at java.io.BufferedInputStream.skip(Unknown Source)
at java.io.DataInputStream.skipBytes(Unknown Source)
at org.apache.tomcat.util.bcel.classfile.Utility.skipFully(Utility.java:61)
at org.apache.tomcat.util.bcel.classfile.Utility.swallowAttribute(Utility.java:86)
at org.apache.tomcat.util.bcel.classfile.Utility.swallowFieldOrMethod(Utility.java:76)
at org.apache.tomcat.util.bcel.classfile.ClassParser.readMethods(ClassParser.java:234)
at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:94)
at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2042)
at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1988)
at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1958)
at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1912)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1157)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:779)
at 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.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5202)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
... 6 more
Dec 29, 2016 3:34:43 PM 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.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:915)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:441)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:787)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
at org.apache.catalina.startup.Catalina.start(Catalina.java:629)
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:351)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:923)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
... 6 more
Dec 29, 2016 3:34:43 PM 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:153)
at org.apache.catalina.startup.Catalina.start(Catalina.java:629)
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:351)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:787)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
... 7 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:441)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
... 9 more
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:923)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
... 11 more
Dec 29, 2016 3:34:43 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-nio-8080"]
Dec 29, 2016 3:34:43 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-nio-8009"]
Dec 29, 2016 3:34:43 PM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Dec 29, 2016 3:34:43 PM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-nio-8080"]
Dec 29, 2016 3:34:43 PM 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:316)
at org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:492)
at org.apache.tomcat.util.net.AbstractEndpoint.destroy(AbstractEndpoint.java:821)
at org.apache.coyote.AbstractProtocol.destroy(AbstractProtocol.java:534)
at org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:589)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:877)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
at org.apache.catalina.startup.Catalina.start(Catalina.java:633)
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:351)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
Dec 29, 2016 3:34:43 PM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-nio-8009"]
Dec 29, 2016 3:34:43 PM 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:316)
at org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:492)
at org.apache.tomcat.util.net.AbstractEndpoint.destroy(AbstractEndpoint.java:821)
at org.apache.coyote.AbstractProtocol.destroy(AbstractProtocol.java:534)
at org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:589)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:877)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
at org.apache.catalina.startup.Catalina.start(Catalina.java:633)
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:351)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
And Jar Files:
和 Jar 文件:
activation
antlr
asm-3.1
asm-commons-3.3
asm-tree-3.3
bcprov-jdk15on-1.47
c3p0-0.9.1.2
commons-beanutils-1.7.0
commons-collections-3.1
commons-digester
commons-io-1.3.2
commons-lang-2.3
commons-logging-1.0.4
commons-validator
displaytag-1.2
displaytag-export-poi-1.2
displaytag-portlet-1.2
dom4j-1.6
eclipselink-2.0.2
eclipselink-javax.persistence-2.0
freemarker
freemarker-2.3.15
gcm-server-1.0.2
imgscalr-lib-4.2
iText-2.1.7
Hymanson-annotations-2.2.3
Hymanson-core-2.2.3
Hymanson-core-asl-1.9.2
Hymanson-databind-2.2.3
Hymanson-jaxrs-1.9.2
Hymanson-mapper-asl-1.9.2
Hymanson-xc-1.9.2
jasper-compiler-jdt
jasperreports-4.1.1
javapns-2.2.1
javassist
jcommon-1.0.17
jersey-apache-client-1.18
jersey-atom-abdera-1.18
jersey-client-1.18
jersey-core-1.18
jersey-guice-1.18
jersey-json-1.18
jersey-multipart-1.18
jersey-server-1.18
jersey-servlet-1.18
jersey-simple-server-1.18
jersey-spring-1.18
jettison-1.1
jfreechart-1.0.14
json-simple-1.1.1
jsr311-api-1.1.1
jxl
log4j-1.2.13
mail
mimepull-1.4
mysql-connector-java-5.0.5
oauth-client-1.18
oauth-server-1.18
oauth-signature-1.18
ognl-2.7.3
poi-3.7
poi-3.8-20120326
poi-3.11-beta2
poi-ooxml-3.11-beta2
poi-ooxml-schemas-3.11-beta2
quartz-all-2.1.6
recaptcha4j-0.0.7
slf4j-api-1.6.1
slf4j-log4j12-1.6.1
struts2-core-2.1.8.1
struts2-dojo-plugin-2.2.3
struts2-fullhibernatecore-plugin-1.4-GA
struts2-jasperreports-plugin-2.2.3
struts2-jquery-grid-plugin-3.2.1
struts2-jquery-plugin-3.2.1
struts2-json-plugin-2.2.3
struts2-tiles-plugin-2.2.3
tiles-api-2.0.6
tiles-core-2.0.6
tiles-jsp-2.0.6
xmlbeans-2.6.0
xwork-core-2.1.6
采纳答案by Roman C
Tomcat indeed has problems (See bug #60087) with verifying jar file signatures.
Tomcat在验证 jar 文件签名时确实存在问题(参见错误 #60087)。
Solutions:
解决方案:
Update Apache Tomcat version.
You might verify signature of files manually, if you read Verifying Signed JAR Files, before deploying app to the Tomcat server.
You might also have corrupted jar files downloaded. You should always download from known sources or repositories.
You can also download along with jar file the digest signature files and verify contents of the file with OS utility.
Don't use malicious sites hosted jar files for your download.
Use antivirus to scan for viruses inside jar and verify signature. Some antivirus's have bugs and you should not use its result report for final decision about file contents. E.g. Error: "Invalid sha1 signature file digest for" when verifying a Jar file.
更新 Apache Tomcat 版本。
如果您在将应用程序部署到 Tomcat 服务器之前阅读验证签名的 JAR 文件,您可以手动验证文件的签名。
您可能还下载了损坏的 jar 文件。您应该始终从已知来源或存储库下载。
您还可以与 jar 文件一起下载摘要签名文件,并使用 OS 实用程序验证文件的内容。
不要使用恶意站点托管的 jar 文件进行下载。
使用杀毒软件扫描 jar 中的病毒并验证签名。某些防病毒软件存在错误,您不应使用其结果报告来决定文件内容。例如,在验证 Jar 文件时出现错误:“无效的 sha1 签名文件摘要”。
回答by Andrea Ligios
Your jars are completelymessed up:
你的罐子完全搞砸了:
- Always preserve versions consistency (eg. not core 2.1.8.1and plugins 2.2.3)
- Always pick up the latest version (eg. 2.3.xor, if you can break retrocompatibility, 2.5.x)
- Always include only the Struts2 plugins you know and use, only the needed ones. Remove all the others.
- Always avoid including two versions of the same libraries, eg. poi 3.7and poi 3.8. Is this a joke ?
- The first versions of Tomcat 8.0 had known problems with Struts2, you should upgrade to the latest (eg. 8.0.39) or, even better, to 8.5.
- 始终保持版本一致性(例如,不是核心 2.1.8.1和插件 2.2.3)
- 始终选择最新版本(例如2.3.x或者,如果您可以破坏复古兼容性,则为2.5.x)
- 始终只包含您知道和使用的 Struts2 插件,只包含需要的插件。删除所有其他人。
- 始终避免包含相同库的两个版本,例如。poi 3.7和poi 3.8。你在开玩笑吗 ?
- Tomcat 8.0 的第一个版本在 Struts2 中存在已知问题,您应该升级到最新版本(例如8.0.39),或者甚至更好,升级到8.5。