我知道我可以将我的Web应用程序(或WAR文件)重命名为 ROOT, 但这是一种糟糕的方法,恕我直言。现在我签出了tomcat文档,上面写着
不建议将元素直接放置在server.xml文件中
因此,我尝试使用它建议的另一种方法。
可以明确定义各个上下文元素:在应用程序文件内/META-INF/context.xml中的单个文件中。
所以我/META-INF/context.xml用以下代码创建了一个
/META-INF/context.xml
<?xml version="1.0" encoding="UTF-8"?> <Context antiJARLocking="true" path="/"/>
但是在部署后,当我重新启动服务器时,它仍然无法在“ /”处加载上下文,它仍然使用 "/<WEB_APP_NAME>"
"/<WEB_APP_NAME>"
任何指针都有帮助。
您可以执行以下操作;
添加一个名为ROOT.xml中<catalina_home>/conf/Catalina/localhost/
ROOT.xml
<catalina_home>/conf/Catalina/localhost/
该ROOT.xml将覆盖该引擎和主机(Catalina和localhost)的tomcat安装的根上下文的默认设置。
在ROOT.xml文件中输入以下内容;
<Context docBase="<yourApp>" path="" reloadable="true" />
这<yourApp>是您的应用程序的名称.. :)
<yourApp>
然后,您的应用程序现在是默认应用程序,并会显示在 http://localhost:8080
http://localhost:8080
但是,有一个副作用。您的应用程序将被加载两次。一旦localhost:8080和一次localhost:8080/yourApp。要解决此问题,您可以将应用程序置于外部,<catalina_home>/webapps并在ROOT.xml的docBase标记中使用相对或绝对路径。像这样的东西;
localhost:8080
localhost:8080/yourApp
<catalina_home>/webapps
<Context docBase="/opt/mywebapps/<yourApp>" path="" reloadable="true" />
然后应该一切正常!