文章目录

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

问题描述

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

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

十月 06, 2020 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server.服务器版本: Apache Tomcat/8.5.58
十月 06, 2020 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: 服务器构建:        Sep 10 2020 21:45:33 UTC
十月 06, 2020 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: 服务器版本号(:     8.5.58.0
十月 06, 2020 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: 操作系统名称:      Windows 10
十月 06, 2020 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: OS.版本:           10.0
十月 06, 2020 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: 架构:              amd64
十月 06, 2020 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Java 环境变量:     C:\Program Files\Java\jdk1.8.0_241\jre
十月 06, 2020 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Java虚拟机版本:    1.8.0_241-b07
十月 06, 2020 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM.供应商:        Oracle Corporation
十月 06, 2020 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_BASE:     E:\devSoftware\apache-tomcat-8.5.58
十月 06, 2020 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_HOME:     E:\devSoftware\apache-tomcat-8.5.58
十月 06, 2020 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数:-Dcatalina.base=E:\devSoftware\apache-tomcat-8.5.58
十月 06, 2020 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数:-Dcatalina.home=E:\devSoftware\apache-tomcat-8.5.58
十月 06, 2020 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数:-Dwtp.deploy=E:\devSoftware\apache-tomcat-8.5.58\webapps
十月 06, 2020 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数:-Djava.endorsed.dirs=E:\devSoftware\apache-tomcat-8.5.58\endorsed
十月 06, 2020 8:39:31 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数:-Dfile.encoding=UTF-8
十月 06, 2020 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 2018.3\bin;;E:\devSoftware\PyCharm Community Edition with Anaconda plugin 2019.3.4\bin;;E:\devSoftware\geckodriver.exe;;E:\devSoftware\eclipse;;.]上找不到基于APR的Apache Tomcat本机库,该库允许在生产环境中获得最佳性能
十月 06, 2020 8:39:31 上午 org.apache.coyote.AbstractProtocol init
信息: 初始化协议处理器 ["http-nio-8989"]
十月 06, 2020 8:39:32 上午 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
信息: Using a shared selector for servlet write/read
十月 06, 2020 8:39:32 上午 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1912 ms
十月 06, 2020 8:39:32 上午 org.apache.catalina.core.StandardService startInternal
信息: 正在启动服务[Catalina]
十月 06, 2020 8:39:32 上午 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/8.5.58
十月 06, 2020 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 more
Caused 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, 2020 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 more
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 more
Caused 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, 2020 8:39:32 上午 org.apache.catalina.startup.Catalina start
严重: 所必需的服务组件启动失败,所以无法启动Tomcat
org.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 more
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 more
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 more
Caused 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, 2020 8:39:32 上午 org.apache.coyote.AbstractProtocol pause
信息: 暂停ProtocolHandler["http-nio-8989"]
十月 06, 2020 8:39:32 上午 org.apache.catalina.core.StandardService stopInternal
信息: 正在停止服务[Catalina]
十月 06, 2020 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配置详解

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

  1. 关于Servlet服务器中的 **Caused by: java.lang.IllegalArgumentException: servlet映射中的[servletDemo]无效**

    关于Servlet服务器中的 Caused by: java.lang.IllegalArgumentException: servlet映射中的[servletDemo]无效 错误信息如下:第三行 ...

  2. java d 配置不生效_Tomcat启动失败问题 (指定的主资源集 [D:\java\apache-tomcat-9.0.35\webapps\AppManageSystem] 无效)...

    警告: 部署描述符[D:\java\apache-tomcat-9.0.35\conf\Catalina\localhost\AppManageSystem.xml]中值为[/AppManageSys ...

  3. Caused by: java.lang.IllegalArgumentException: servlet映射中的<url pattern>[servletDemo]无效

    ** Caused by: java.lang.IllegalArgumentException: servlet映射中的[servletDemo]无效 ** 原因是web.xml文件里面的url-p ...

  4. Caused by: java.lang.IllegalArgumentException: Invalid <url-pattern> [url] in servlet mapping

    使用SSM框架的时候我测试springmvc的时候遇到的错误: 一.Server Tomcat v9.0 Server at localhost failed to start. 启动Tomcat服务 ...

  5. Caused by: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.INT

    Caused by: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.INT ...

  6. Android异常总结---E/AndroidRuntime(23439): Caused by: java.lang.IllegalArgumentException: column '_id' d

    1.在使用SimpleCursorAdapter adapter=new SimpleCursorAdapter  (this,R.layout.item,cursor,new String[]{&q ...

  7. Caused by: java.lang.IllegalArgumentException报错

    报错内容: java.lang.IllegalStateException: Failed to load ApplicationContextat org.springframework.test. ...

  8. Caused by: java.lang.IllegalArgumentException: Illegal base64 character 2d

    前言 springboot+ES时报错 错误信息如下: Caused by: java.lang.IllegalArgumentException: Illegal base64 character ...

  9. Caused by: java.lang.IllegalArgumentException: Mapped Statements collection already contains valu...

    在使用mybatis的时候遇到这个问题 报错信息 Caused by: java.lang.IllegalArgumentException: Mapped Statements collection ...

  10. Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'redis.maxIdle' in stri

    Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'redis.maxIdle' in stri ...

最新文章

  1. C++ boost thread学习(二)
  2. 经常用到取整的函数,今天小小的总结一下!其实很简单,就是几个函数而已~~主要是:ceil,floor,round,intval...
  3. 机器学习之 weka学习(五)示例用法
  4. 什么叫诚实_他爱不爱你,身体最诚实
  5. 关于验证码的DEMO
  6. 趋势科技企业级杀软产品俩 0day 已遭利用
  7. 关于中国移动宽带(中国铁通)比较卡
  8. 用树莓派USB摄像头做个监控
  9. 即时通讯软件会取代电子邮件吗?
  10. java二进制保存图片_Java中如何把图片转换成二进制流
  11. 书籍_《未来世界的幸存者》阮一峰--2/5
  12. 部署Guacamole远程控制桌面
  13. linux主机路由命令,linux下路由设置详解
  14. linux部署nestjs项目
  15. 计算机什么专业可以自学考试,自学考试,计算机专业哪个专业好?
  16. VS Code如何配置C\C++环境 步骤详解
  17. scala spark hbase 操作案例
  18. python 寻找MC宝藏的具体位置
  19. Latex参考文献自动化添加方法
  20. 微信小程序实现pdf、word等格式文件上传的方法,微信小程序word文档

热门文章

  1. 绕过tp路由器管理密码_TP-Link路由器登录密码怎么重置【详细介绍】
  2. mockjs随机生成浅色图片 | 十六进制颜色码调色大法 | 莫兰迪色系
  3. Linux LittlevGL 使用
  4. 一位资深程序员大牛给予Java初学者的学习路线建议
  5. 32.项目总结--技术点部分
  6. bupt2021秋季计算导论第十三次实验
  7. IntelliJ IDEA自制主题theme--Type Color
  8. 金三角图形c语言,升哥学堂 | 实战均线形态——“金三角”
  9. 亚马逊AWSome DAY
  10. 80题题目+AC代码汇总 ~ 南阳 NYOJ