本人菜菜大学牲一枚,发的问题描述有些笼统和逻辑性可能有些欠缺,困扰了好久好久,有人看的话,我第一时间补充细节和具体经过,再次求帮助
使用eclipse学习Javaweb Tomcat在创建虚拟主机一步无法在Tomcat的\conf\Catalina下面生成server.xml里面配置的新主机的文件夹,具体过程如图
在E盘的工作空间有一个myweb动态项目,webapp目录下是示例代码文件,已经安装的Tomcat版本为9.0,当启动Tomcat服务时候,运行hello.html文件可以正常运行
然后在C:\Tomcat9\mywebapps\myweb目录下面将原E盘workspace里面的myweb复制到了新目录C:\Tomcat9\mywebapps\myweb下面即
<Engine defaultHost="localhost" name="Catalina">
<!--For clustering, please take a look at documentation at: /docs/cluster-howto.html
(simple how to) /docs/config/cluster.html (reference documentation) -->
<!-- <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> -->
<!-- Use the LockOutRealm to prevent attempts to guess user passwords
via a brute-force attack -->
<Realm className="org.apache.catalina.realm.LockOutRealm">
<!-- This Realm uses the UserDatabase configured in the global JNDI resources
under the key "UserDatabase". Any edits that are performed against this UserDatabase
are immediately available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
</Realm>
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn"
/> -->
<!-- Access log processes all example. Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log" suffix=".txt"/>
<Valve allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" className="org.apache.catalina.valves.RemoteHostValve"/>
<Context docBase="WebTest/src/main/webapp" path="/WebTest" reloadable="true" source="org.eclipse.jst.jee.server:Online_course_selection_system"/>
<Context docBase="myweb" path="/myweb" reloadable="true" source="org.eclipse.jst.jee.server:myweb"/>
</Host>
<Host name="www.reco.com" appBase="C:/Tomcat/mywebapps/myweb" unpackWARs="true" autoDeploy="true">
<Context docBase="C:/Tomcat/mywebapps/myweb" path="/hello" reloadable="true" source="org.eclipse.jst.jee.server:hello"/>
</Host>
</Engine>
以上为Engine标签内的代码设置
这是web.xml文件内容
这是hosts文件里面最后一行给虚拟主机加的映射
当重启Tomcat服务时候,多出来一个Tomcat目录,但是
Catalina目录里面没有新设的
http://www.reco.com/
主机名
以上是在浏览器用
http://www.reco.com/
主机名访问mywebapps里面的复制的myweb文件时候,找不到资源
附上Tomcat日志
9月 17, 2023 9:26:49 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server.服务器版本: Apache Tomcat/9.0.76
9月 17, 2023 9:26:49 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 服务器构建: Jun 5 2023 07:17:04 UTC
9月 17, 2023 9:26:49 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 服务器版本号: 9.0.76.0
9月 17, 2023 9:26:49 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 操作系统名称: Windows 10
9月 17, 2023 9:26:49 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: OS.版本: 10.0
9月 17, 2023 9:26:49 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 架构: amd64
9月 17, 2023 9:26:49 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Java 环境变量: E:\eclipse-jee-2023-06-R-win32-x86_64\eclipse\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.7.v20230425-1502\jre
9月 17, 2023 9:26:49 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Java虚拟机版本: 17.0.7+7
9月 17, 2023 9:26:49 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM.供应商: Eclipse Adoptium
9月 17, 2023 9:26:49 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_BASE: E:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
9月 17, 2023 9:26:49 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_HOME: C:\Tomcat9
9月 17, 2023 9:26:49 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数: -Dcatalina.base=E:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
9月 17, 2023 9:26:49 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数: -Dcatalina.home=C:\Tomcat9
9月 17, 2023 9:26:49 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数: -Dwtp.deploy=E:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
9月 17, 2023 9:26:49 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数: --add-opens=java.base/java.lang=ALL-UNNAMED
9月 17, 2023 9:26:49 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数: --add-opens=java.base/java.io=ALL-UNNAMED
9月 17, 2023 9:26:49 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数: --add-opens=java.base/java.util=ALL-UNNAMED
9月 17, 2023 9:26:49 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
9月 17, 2023 9:26:49 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
9月 17, 2023 9:26:49 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数: -Dfile.encoding=UTF-8
9月 17, 2023 9:26:49 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数: -XX:+ShowCodeDetailsInExceptionMessages
9月 17, 2023 9:26:49 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
信息: 在java.library.path:[E:\eclipse-jee-2023-06-R-win32-x86_64\eclipse\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.7.v20230425-1502\jre\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;E:/eclipse-jee-2023-06-R-win32-x86_64/eclipse//plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.7.v20230425-1502/jre/bin/server;E:/eclipse-jee-2023-06-R-win32-x86_64/eclipse//plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.7.v20230425-1502/jre/bin;C:\Program Files\Common Files\Oracle\Java\javapath;D:\vm16pro\bin\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;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)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Java\jdk-11\bin;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;D:\python1;D:\Program Files\Java\jdk-19;D:\za\x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0\mingw64\bin;D:\za\mysql-8.0.31-winx64\mysql-8.0.31-winx64\bin;C:\Program Files\dotnet\;C:\Program Files\Bandizip\;D:\za\edgedriver_win64 (1);D:\za\apache-maven-3.9.4-bin (2)\apache-maven-3.9.4\bin;D:\python1\Scripts\;D:\python1\;C:\Users\DELL\AppData\Local\Microsoft\WindowsApps;D:\PyCharm 2021.1.3\bin;;d:\Users\DELL\AppData\Local\Programs\Microsoft VS Code\bin;D:\Program Files\Java\jdk-19\bin;D:\Program Files\Java\jdk-19\jre\bin;;E:\eclipse-jee-2023-06-R-win32-x86_64\eclipse;;.]上找不到基于APR的Apache Tomcat本机库,该库允许在生产环境中获得最佳性能
9月 17, 2023 9:26:50 下午 org.apache.coyote.AbstractProtocol init
信息: 初始化协议处理器 ["http-nio-8080"]
9月 17, 2023 9:26:50 下午 org.apache.catalina.startup.Catalina load
信息: 服务器在[1567]毫秒内初始化
9月 17, 2023 9:26:50 下午 org.apache.catalina.core.StandardService startInternal
信息: 正在启动服务[Catalina]
9月 17, 2023 9:26:50 下午 org.apache.catalina.core.StandardEngine startInternal
信息: 正在启动 Servlet 引擎:[Apache Tomcat/9.0.76]
9月 17, 2023 9:26:51 下午 org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom
警告: 使用[SHA1PRNG]创建会话ID生成的SecureRandom实例花费了[106]毫秒。
9月 17, 2023 9:26:51 下午 org.apache.catalina.startup.HostConfig deployDescriptor
信息: 正在部署部署描述符[E:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\Catalina\localhost\myweb.xml]。
9月 17, 2023 9:26:51 下午 org.apache.catalina.startup.HostConfig deployDescriptor
警告: 部署描述符[E:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\Catalina\localhost\myweb.xml]中值为[/myweb]的路径属性已被忽略
9月 17, 2023 9:26:51 下午 org.apache.catalina.startup.HostConfig deployDescriptor
信息: 部署描述符[E:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\Catalina\localhost\myweb.xml]的部署已在[123]ms内完成
9月 17, 2023 9:26:51 下午 org.apache.catalina.startup.HostConfig deployDescriptor
信息: 正在部署部署描述符[E:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\Catalina\localhost\WebTest.xml]。
9月 17, 2023 9:26:51 下午 org.apache.catalina.startup.HostConfig deployDescriptor
警告: 部署描述符[E:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\Catalina\localhost\WebTest.xml]中值为[/WebTest]的路径属性已被忽略
9月 17, 2023 9:26:51 下午 org.apache.catalina.startup.HostConfig deployDescriptor
严重: 部署描述符[E:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\Catalina\localhost\WebTest.xml]时出错
java.lang.IllegalStateException: 启动子级时出错
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:686)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:658)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:662)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:689)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1888)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:123)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:582)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1617)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:318)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:893)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:795)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1328)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1318)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:249)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:428)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:923)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:347)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478)
Caused by: org.apache.catalina.LifecycleException: 无法启动组件[org.apache.catalina.webresources.StandardRoot@7e985ce9]
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:4607)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4740)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:683)
... 37 more
Caused by: java.lang.IllegalArgumentException: 指定的主资源集 [E:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\WebTest\src\main\webapp] 无效
at org.apache.catalina.webresources.StandardRoot.createMainResourceSet(StandardRoot.java:749)
at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:707)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
... 41 more
9月 17, 2023 9:26:51 下午 org.apache.catalina.startup.HostConfig deployDescriptor
信息: 部署描述符[E:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\Catalina\localhost\WebTest.xml]的部署已在[28]ms内完成
9月 17, 2023 9:26:52 下午 org.apache.coyote.AbstractProtocol start
信息: 开始协议处理句柄["http-nio-8080"]
9月 17, 2023 9:26:52 下午 org.apache.catalina.startup.Catalina start
信息: [1454]毫秒后服务器启动
发的问题描述有些笼统和逻辑性可能有些欠缺,困扰了好久好久,有人看的话,我第一时间补充细节和具体经过,再次求帮助