解决:Tomcat启动提示At least one JAR was scanned for TLDs yet contained no TLDs
文章目錄
- 一.問題描述
- 二.問題原因
- 三.問題解決
- 3.1 解決步驟
- 3.2 從Tomcat的Bin目錄中啟動服務器
- 3.3 Eclipse啟動Tomcat
一.問題描述
報錯內容
十月 11, 2019 9:02:09 上午 org.apache.tomcat.util.digester.SetPropertiesRule begin 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:SSH' did not find a matching property. 十月 11, 2019 9:02:09 上午 org.apache.catalina.startup.VersionLoggerListener log 信息: Server version: Apache Tomcat/8.0.47 十月 11, 2019 9:02:09 上午 org.apache.catalina.startup.VersionLoggerListener log 信息: Server built: Sep 29 2017 13:46:41 UTC 十月 11, 2019 9:02:09 上午 org.apache.catalina.startup.VersionLoggerListener log 信息: Server number: 8.0.47.0 十月 11, 2019 9:02:09 上午 org.apache.catalina.startup.VersionLoggerListener log 信息: OS Name: Windows 10 十月 11, 2019 9:02:09 上午 org.apache.catalina.startup.VersionLoggerListener log 信息: OS Version: 10.0 十月 11, 2019 9:02:09 上午 org.apache.catalina.startup.VersionLoggerListener log 信息: Architecture: amd64 十月 11, 2019 9:02:09 上午 org.apache.catalina.startup.VersionLoggerListener log 信息: Java Home: C:\Program Files\Java\jdk1.8.0_144\jre 十月 11, 2019 9:02:09 上午 org.apache.catalina.startup.VersionLoggerListener log 信息: JVM Version: 1.8.0_144-b01 十月 11, 2019 9:02:09 上午 org.apache.catalina.startup.VersionLoggerListener log 信息: JVM Vendor: Oracle Corporation 十月 11, 2019 9:02:09 上午 org.apache.catalina.startup.VersionLoggerListener log 信息: CATALINA_BASE: D:\重要備份\0914\.metadata\.plugins\org.eclipse.wst.server.core\tmp0 十月 11, 2019 9:02:09 上午 org.apache.catalina.startup.VersionLoggerListener log 信息: CATALINA_HOME: D:\apache-tomcat-8.0.47 十月 11, 2019 9:02:09 上午 org.apache.catalina.startup.VersionLoggerListener log 信息: Command line argument: -Dcatalina.base=D:\重要備份\0914\.metadata\.plugins\org.eclipse.wst.server.core\tmp0 十月 11, 2019 9:02:09 上午 org.apache.catalina.startup.VersionLoggerListener log 信息: Command line argument: -Dcatalina.home=D:\apache-tomcat-8.0.47 十月 11, 2019 9:02:09 上午 org.apache.catalina.startup.VersionLoggerListener log 信息: Command line argument: -Dwtp.deploy=D:\重要備份\0914\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps 十月 11, 2019 9:02:09 上午 org.apache.catalina.startup.VersionLoggerListener log 信息: Command line argument: -Djava.endorsed.dirs=D:\apache-tomcat-8.0.47\endorsed 十月 11, 2019 9:02:09 上午 org.apache.catalina.startup.VersionLoggerListener log 信息: Command line argument: -Dfile.encoding=GBK 十月 11, 2019 9:02:09 上午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent 信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.8.0_144\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jdk1.8.0_144/bin/../jre/bin/server;C:/Program Files/Java/jdk1.8.0_144/bin/../jre/bin;C:/Program Files/Java/jdk1.8.0_144/bin/../jre/lib/amd64;C:\Program Files\Java\jdk1.8.0_144\bin;D:\initPath\node-v10.15.3-win-x64;D:\initPath\node-v10.15.3-win-x64\node_global;C:\Program Files\Java\jdk1.8.0_144\jre\bin;C:\Program Files (x86)\MySQL\MySQL Server 5.5\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;D:\apache-maven-3.5.0-bin\apache-maven-3.5.0-bin\apache-maven-3.5.0\bin;D:\apache-maven-3.5.0-bin\apache-maven-3.5.0-bin\apache-maven-3.5.0\jre\bin;D:\apache-maven-3.5.0-bin\apache-maven-3.5.0-bin\apache-maven-3.5.0\bin;;C:\WINDOWS\System32\OpenSSH\;C:\Users\20190808\AppData\Local\Microsoft\WindowsApps;;C:\Program Files (x86)\eclipse;;. 十月 11, 2019 9:02:10 上午 org.apache.coyote.AbstractProtocol init 信息: Initializing ProtocolHandler ["http-nio-8080"] 十月 11, 2019 9:02:11 上午 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector 信息: Using a shared selector for servlet write/read 十月 11, 2019 9:02:11 上午 org.apache.coyote.AbstractProtocol init 信息: Initializing ProtocolHandler ["ajp-nio-8009"] 十月 11, 2019 9:02:11 上午 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector 信息: Using a shared selector for servlet write/read 十月 11, 2019 9:02:11 上午 org.apache.catalina.startup.Catalina load 信息: Initialization processed in 4371 ms 十月 11, 2019 9:02:11 上午 org.apache.catalina.core.StandardService startInternal 信息: Starting service Catalina 十月 11, 2019 9:02:11 上午 org.apache.catalina.core.StandardEngine startInternal 信息: Starting Servlet Engine: Apache Tomcat/8.0.47 十月 11, 2019 9:02:32 上午 org.apache.jasper.servlet.TldScanner scanJars 信息: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. 十月 11, 2019 9:02:33 上午 org.apache.catalina.core.ContainerBase startInternal 嚴重: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SSH]]at java.util.concurrent.FutureTask.report(FutureTask.java:122)at java.util.concurrent.FutureTask.get(FutureTask.java:192)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.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SSH]]at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)... 6 more Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@60974247]at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4969)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5102)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)... 6 more Caused by: java.lang.IllegalArgumentException: The main resource set specified [D:\重要備份\0914\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\SSH] is not validat org.apache.catalina.webresources.StandardRoot.createMainResourceSet(StandardRoot.java:746)at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:704)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)... 9 more十月 11, 2019 9:02:33 上午 org.apache.catalina.core.ContainerBase startInternal 嚴重: 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(FutureTask.java:122)at java.util.concurrent.FutureTask.get(FutureTask.java:192)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:630)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)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: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.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748) Caused by: org.apache.catalina.LifecycleException: A child container failed during startat 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)... 6 more十月 11, 2019 9:02:33 上午 org.apache.catalina.startup.Catalina start 嚴重: 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:630)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)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: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 startat 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十月 11, 2019 9:02:33 上午 org.apache.coyote.AbstractProtocol pause 信息: Pausing ProtocolHandler ["http-nio-8080"] 十月 11, 2019 9:02:33 上午 org.apache.coyote.AbstractProtocol pause 信息: Pausing ProtocolHandler ["ajp-nio-8009"] 十月 11, 2019 9:02:33 上午 org.apache.catalina.core.StandardService stopInternal 信息: Stopping service Catalina 十月 11, 2019 9:02:33 上午 org.apache.coyote.AbstractProtocol destroy 信息: Destroying ProtocolHandler ["http-nio-8080"] 十月 11, 2019 9:02:33 上午 org.apache.coyote.AbstractProtocol destroy 嚴重: Failed to destroy end point associated with ProtocolHandler ["http-nio-8080"] java.lang.NullPointerExceptionat 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:634)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)十月 11, 2019 9:02:33 上午 org.apache.coyote.AbstractProtocol destroy 信息: Destroying ProtocolHandler ["ajp-nio-8009"] 十月 11, 2019 9:02:33 上午 org.apache.coyote.AbstractProtocol destroy 嚴重: Failed to destroy end point associated with ProtocolHandler ["ajp-nio-8009"] java.lang.NullPointerExceptionat 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:634)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)之前一直以為是tomcat端口占用有問題 ,后來找了網上殺死端口還是報錯,不得不找老師,說是jar包問題,然后發現了這行報錯才是關鍵點
信息: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them.Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.二.問題原因
1.出現這個問題的原因就是Tomcat啟動時會掃描大量jar包,如果含有不符合TLD規范的就會出現這個問題
2.以后基本上不會使用JSP作為視圖層,所以我們可能根本不需要TLD這個東西,就算不要TLD也沒有什么關系3.注意兩個啟動:一個是從tomcat的bin目錄中啟動,另外一個是從Eclipse中或者別的軟件中啟動,注意看Eclipse啟動部
三.問題解決
3.1 解決步驟
1.可以在Tomcat安裝目錄下apache-tomcat-9.0.1\conf\catalina.properties文件中看到有以下一串代碼,代表的是在啟動Tomcat需要跳過檢查的jar包
2.那么解決辦法就是跳過所以jar包的TLD檢查,將所有tomcat.util.scan.StandardJarScanFilter.jarsToSkip=后面的所有通過\連接的這些.jar全部刪除(操作之前請備份源文件),直接給tomcat.util.scan.StandardJarScanFilter.jarsToSkip賦值".jar",".jar"代表跳過所有以.jar結尾的文件,示例如下
3.刪除tomcat的work目錄中的所有文件避免緩存干擾;清空所有logs目錄中的日志文件,為了方便查看日志文件
3.2 從Tomcat的Bin目錄中啟動服務器
1.現在到bin目錄中找到startup.bat(windows:雙擊即可運行)或startup.sh(Linux:命令 “./startup.sh” 運行)進行啟動,發現啟動超快
2.startdown,bat關閉服務器
3.注意:這里只是直接在bin中啟動了tomcat服務器,接下來是從Eclipse配置tomcat,通過Eclipse啟動服務器
3.3 Eclipse啟動Tomcat
1.如果原來就已經配置過該Tomcat的會發現在Eclipse中啟動還是老樣子,每次卡在TLD那里,感覺根本沒有解決,原因如下
- Eclipse沒有使用配置過的Tomcat,而是使用了自帶的Tomcat
- Eclipse中原來配置過該Tomcat,因為Tomcat緩存導致沒有生效
2.接下在最重要的一步就是刪除Eclipse原來配置過的服務器,單擊右鍵選擇刪除即可
3.創建新的運行環境,改成現在新配置的Tomcat,這樣才能讓配置生效
4.運行一下服務器,發現就可以啦,
然后就可以部署項目了
總結
以上是生活随笔為你收集整理的解决:Tomcat启动提示At least one JAR was scanned for TLDs yet contained no TLDs的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大数据学习入门规划?和学习路线
- 下一篇: Wio Terminal 从网络获取天气