1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Tomcat Caused by:java.lang.IllegalArgumentException: 指定的主资源集[……]无效

Tomcat Caused by:java.lang.IllegalArgumentException: 指定的主资源集[……]无效

时间:2021-05-26 01:47:06

相关推荐

Tomcat Caused by:java.lang.IllegalArgumentException: 指定的主资源集[……]无效

文章目录

问题描述原因分析解决方案参考文档

问题描述

将Tomcat与eclipse关联后启动server出现问题。

具体错误提示如下(太长,不建议看,直接看原因分析)

十月 06, 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log信息: Server.服务器版本: Apache Tomcat/8.5.58十月 06, 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log信息: 服务器构建: Sep 10 21:45:33 UTC十月 06, 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log信息: 服务器版本号(:8.5.58.0十月 06, 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log信息: 操作系统名称:Windows 10十月 06, 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log信息: OS.版本: 10.0十月 06, 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log信息: 架构: amd64十月 06, 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log信息: Java 环境变量:C:\Program Files\Java\jdk1.8.0_241\jre十月 06, 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log信息: Java虚拟机版本: 1.8.0_241-b07十月 06, 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log信息: JVM.供应商: Oracle Corporation十月 06, 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log信息: CATALINA_BASE:E:\devSoftware\apache-tomcat-8.5.58十月 06, 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log信息: CATALINA_HOME:E:\devSoftware\apache-tomcat-8.5.58十月 06, 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log信息: 命令行参数:-Dcatalina.base=E:\devSoftware\apache-tomcat-8.5.58十月 06, 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log信息: 命令行参数:-Dcatalina.home=E:\devSoftware\apache-tomcat-8.5.58十月 06, 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log信息: 命令行参数:-Dwtp.deploy=E:\devSoftware\apache-tomcat-8.5.58\webapps十月 06, 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log信息: 命令行参数:-Djava.endorsed.dirs=E:\devSoftware\apache-tomcat-8.5.58\endorsed十月 06, 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log信息: 命令行参数:-Dfile.encoding=UTF-8十月 06, 8:39:31 上午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent信息: 在java.library.path:[C:\Program Files\Java\jdk1.8.0_241\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;E:/devSoftware/eclipse/jre/bin/server;E:/devSoftware/eclipse/jre/bin;E:/devSoftware/eclipse/jre/lib/amd64;E:\devSoftware\oraclexe\app\oracle\product\11.2.0\server\bin;;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;E:\Git\cmd;E:\应用软件\nmap-7.70-win32\nmap-7.70;D:\Program Files\nodejs\;C:\Program Files (x86)\Rational\common;C:\Program Files\PuTTY\;C:\Program Files (x86)\Common Files\Thunder Network\KanKan\Codecs;E:\devSoftware\MySQL\MySQL Server 5.5\bin;C:\Program Files\Java\jdk1.8.0_241\bin;E:\devSoftware\apache-maven-3.6.3\bin;E:\devSoftware\erl10.4\bin;C:\Program Files\Java\jdk1.8.0_241\jre\bin;E:\devSoftware\python3.8\Scripts\;E:\devSoftware\python3.8\;E:\devSoftware\Anaconda3;E:\devSoftware\Anaconda3\Library\mingw-w64\bin;E:\devSoftware\Anaconda3\Library\usr\bin;E:\devSoftware\Anaconda3\Library\bin;E:\devSoftware\Anaconda3\Scripts;C:\Users\xxx\AppData\Local\Microsoft\WindowsApps;C:\Users\xxx\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\xxx\AppData\Roaming\npm;E:\devSoftware\JetBrains\IntelliJ IDEA .3\bin;;E:\devSoftware\PyCharm Community Edition with Anaconda plugin .3.4\bin;;E:\devSoftware\geckodriver.exe;;E:\devSoftware\eclipse;;.]上找不到基于APR的Apache Tomcat本机库,该库允许在生产环境中获得最佳性能十月 06, 8:39:31 上午 org.apache.coyote.AbstractProtocol init信息: 初始化协议处理器 ["http-nio-8989"]十月 06, 8:39:32 上午 org.apache..NioSelectorPool getSharedSelector信息: Using a shared selector for servlet write/read十月 06, 8:39:32 上午 org.apache.catalina.startup.Catalina load信息: Initialization processed in 1912 ms十月 06, 8:39:32 上午 org.apache.catalina.core.StandardService startInternal信息: 正在启动服务[Catalina]十月 06, 8:39:32 上午 org.apache.catalina.core.StandardEngine startInternal信息: Starting Servlet Engine: Apache Tomcat/8.5.58十月 06, 8:39:32 上午 org.apache.catalina.core.ContainerBase startInternal严重: 子容器启动失败java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 无法启动组件[org.apache.catalina.webresources.StandardRoot@7cd2bfd]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:931)at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1412)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1402)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: 无法启动组件[org.apache.catalina.webresources.StandardRoot@7cd2bfd]at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4803)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4939)... 7 moreCaused by: java.lang.IllegalArgumentException: 指定的主资源集 [E:\devSoftware\apache-tomcat-8.5.58\webapps\myFileSystem] 无效at org.apache.catalina.webresources.StandardRoot.createMainResourceSet(StandardRoot.java:747)at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:705)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)... 9 more十月 06, 8:39:32 上午 org.apache.catalina.core.ContainerBase startInternal严重: 子容器启动失败java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 子容器启动失败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:931)at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:261)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:766)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.startup.Catalina.start(Catalina.java:688)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:342)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)Caused by: org.apache.catalina.LifecycleException: 子容器启动失败at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1412)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1402)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: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 无法启动组件[org.apache.catalina.webresources.StandardRoot@7cd2bfd]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:931)... 8 moreCaused by: org.apache.catalina.LifecycleException: 无法启动组件[org.apache.catalina.webresources.StandardRoot@7cd2bfd]at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4803)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4939)... 7 moreCaused by: java.lang.IllegalArgumentException: 指定的主资源集 [E:\devSoftware\apache-tomcat-8.5.58\webapps\myFileSystem] 无效at org.apache.catalina.webresources.StandardRoot.createMainResourceSet(StandardRoot.java:747)at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:705)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)... 9 more十月 06, 8:39:32 上午 org.apache.catalina.startup.Catalina start严重: 所必需的服务组件启动失败,所以无法启动Tomcatorg.apache.catalina.LifecycleException: 子容器启动失败at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:261)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:766)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.startup.Catalina.start(Catalina.java:688)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:342)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 子容器启动失败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:931)... 13 moreCaused by: org.apache.catalina.LifecycleException: 子容器启动失败at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1412)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1402)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: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 无法启动组件[org.apache.catalina.webresources.StandardRoot@7cd2bfd]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:931)... 8 moreCaused by: org.apache.catalina.LifecycleException: 无法启动组件[org.apache.catalina.webresources.StandardRoot@7cd2bfd]at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4803)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4939)... 7 moreCaused by: java.lang.IllegalArgumentException: 指定的主资源集 [E:\devSoftware\apache-tomcat-8.5.58\webapps\myFileSystem] 无效at org.apache.catalina.webresources.StandardRoot.createMainResourceSet(StandardRoot.java:747)at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:705)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)... 9 more十月 06, 8:39:32 上午 org.apache.coyote.AbstractProtocol pause信息: 暂停ProtocolHandler["http-nio-8989"]十月 06, 8:39:32 上午 org.apache.catalina.core.StandardService stopInternal信息: 正在停止服务[Catalina]十月 06, 8:39:32 上午 org.apache.coyote.AbstractProtocol destroy信息: 正在摧毁协议处理器 ["http-nio-8989"]

原因分析

首先我们要了解到Tomcat出现问题,往往都是配置文件出现了问题,经常是web.xml、server.xml。本次错误的有效提示信息如下:

Caused by: java.lang.IllegalArgumentException: 指定的主资源集 [E:\devSoftware\apache-tomcat-8.5.58\webapps\myFileSystem] 无效

为啥我会觉得是这句呢?因为别的也看不到,当我去查看提示信息中的无效资源“myFileSystem”时发现它并不存在,这是我就更加确信我的判断,于是我找到了如下这篇博文:解决myeclipse中启动Tomcat失败以及指定的主资源集无效

在看完博文后我查看了自己的server.xml文件,找到了如下这句代码,估计本次的原因应该就是Context的问题了。

<Context docBase="myFileSystem" path="/myFileSystem" reloadable="true" source="org.eclipse.jst.jee.server:myFileSystem"/></Host>

为了处理问题我查找了有关context 中的 docBase 的博文:tomcat 配置文件 conf/server.xml 中的 appBase和docBase

看到上面这篇博文时已经找到了解决方案,但是为了更好的处理今后的Tomcat问题,建议阅读如下有关于server.xml的详解博文:Tomcat中server.xml配置详解

解决方案

1.找到Tomcat安装目录下的cong\server.xml 打开文档找到最尾部的如下代码

2. eclipse中已经创建好sever的话修改server项目下的server.xml

<Context docBase="myFileSystem" path="/myFileSystem" reloadable="true" source="org.eclipse.jst.jee.server:myFileSystem"/></Host>

这句代码就是问题的原因所在,将它删除或者注释掉就解决问题了。

参考文档

[1] 解决myeclipse中启动Tomcat失败以及指定的主资源集无效

[2] tomcat 配置文件 conf/server.xml 中的 appBase和docBase

[3] Tomcat中server.xml配置详解

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。