我知道我可以将我的webapp (或者它的WAR文件)重命名为根,但是这是一个糟糕的方式。现在,我查看了tomcat文档&它说
不建议直接在server.xml文件中放置元素
因此,我尝试了它建议的另一种方法。
单独的上下文元素可以显式地定义:在应用程序文件内的/META-INF/context.xml处的单独文件中。
所以我用下面的代码创建了一个/META-INF/context.xml
,
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/"/>
但是在部署之后,当我重新启动服务器时,它仍然无法加载"/“处的上下文,它仍然使用"/<WEB_APP_NAME>"
加载它
任何对你有帮助的建议。
发布于 2011-10-10 06:20:52
你能做的是:
在<catalina_home>/conf/Catalina/localhost/
中添加名为ROOT.xml
的文件
此ROOT.xml将覆盖该引擎和主机(Catalina和localhost)的tomcat安装的根上下文的默认设置。
在ROOT.xml文件中输入以下内容;
<Context
docBase="<yourApp>"
path=""
reloadable="true"
/>
在这里,<yourApp>
是您的应用程序的名称。:)
现在,您的应用程序已成为默认应用程序,并将显示在http://localhost:8080
上
但是,有一个副作用:您的应用程序将被加载两次。一次用于localhost:8080
,一次用于localhost:8080/yourApp
。要解决这个问题,您可以将应用程序放在<catalina_home>/webapps
之外,并在your的docBase标记中使用相对或绝对路径。像这样的东西;
<Context
docBase="/opt/mywebapps/<yourApp>"
path=""
reloadable="true"
/>
然后一切都会好起来的!
发布于 2013-03-26 06:22:15
这是,唯一对我有效的解决方案。将以下内容添加到conf/server.xml
文件的Host node
中。
<Context path="" docBase="yourAppContextName">
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
发布于 2017-03-05 15:41:10
在Tomcat9.0中,我只需在server.xml
中更改以下内容
<Context docBase="web" path="/web" reloadable="true" source="org.eclipse.jst.jee.server:web"/>
至
<Context docBase="web" path="" reloadable="true" source="org.eclipse.jst.jee.server:web"/>
https://stackoverflow.com/questions/7276989
复制相似问题