我在 Netbeans 中创建了一个 Web 应用程序,并将应用程序打包在一个名为“aa-bb.war”的文件中。当我在 netbeans 中运行项目时,我可以通过“localhost:8080/aa/bb”访问它。这一切都很好。
但是,将 .war 文件移动到标准的 tomcat 安装中会给我带来问题。当我将 .war 放入“webapp”目录时,它会分解为“webapp/aa-bb”,但我真正想要的是“webapp/aa/bb”(注意中间的“-”与“/” “aa”和“bb”)......所以bb应该在“aa”的子目录中。
我对此的理解是因为tomcat使用.war的文件名来创建爆炸的目录,所以由于战争被称为“aa-bb”,它显然使用了连字符。我的“context.xml”文件确实有正确的路径“aa/bb”,但我读过 Tomcat 5+ 将忽略 .war 中指定的上下文路径,而是根据文件名创建一个路径。
如何强制 tomcat 使用子目录(结果 url (“aa-bb”与“aa/bb”)似乎有一个小的差异,但它实际上是一个大问题,因为我不会得到现在进入(只是使事情复杂化)。