重命名 war 文件以更改 Web 应用程序的上下文路径
Rename war file to change the context path of an webapplication
我正在使用 maven
构建网络应用程序。我想更改生成的 war 文件的名称以获得不同的上下文路径。
澄清误解:不是在开发过程中改名,应该可以不接触任何代码(例如客户)。此外,应该可以将这些 war 部署在不同的服务器上(如 WildFly、Tomcat 等)。
示例:
Hello.war
= Hello.war -> URL: localhost:8080/你好
stupid.war
= stupid.war -> URL: localhost:8080/愚蠢
我怎样才能做到这一点?这可能吗?
最简单的方法是
- 将文件 extension.war 重命名为 .zip 并展开(双击)
- 将 web.xml 拖出到桌面
- 相应地更改 web.xml
- 将修改后的web.xml拖到原来的位置并替换原来的
- 将文件扩展名重命名回 .war
对于流行的 servlet 容器(JBoss、Tomcat、Jetty),WAR 命名约定可以驱动上下文路径。如果没有在任何地方定义明确的上下文路径,war 的名称将成为上下文路径。
a.war > localhost:8080/a
b.war > localhost:8080/b
接下来的问题就是根据您的客户将 war 重命名为不同的名称。
https://docs.jboss.org/jbossas/guides/webguide/r2/en/html/ch06.html
https://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Naming
http://www.eclipse.org/jetty/documentation/current/configuring-contexts.html
将 build
元素中的默认 finalName
元素覆盖为所需的文件名(不带扩展名)可能会存档您想要的内容。然后,您当然需要注意版本。例如
<build>
<finalName>YourName</finalName>
</build>
我正在使用 maven
构建网络应用程序。我想更改生成的 war 文件的名称以获得不同的上下文路径。
澄清误解:不是在开发过程中改名,应该可以不接触任何代码(例如客户)。此外,应该可以将这些 war 部署在不同的服务器上(如 WildFly、Tomcat 等)。
示例:
Hello.war
= Hello.war -> URL: localhost:8080/你好
stupid.war
= stupid.war -> URL: localhost:8080/愚蠢
我怎样才能做到这一点?这可能吗?
最简单的方法是
- 将文件 extension.war 重命名为 .zip 并展开(双击)
- 将 web.xml 拖出到桌面
- 相应地更改 web.xml
- 将修改后的web.xml拖到原来的位置并替换原来的
- 将文件扩展名重命名回 .war
对于流行的 servlet 容器(JBoss、Tomcat、Jetty),WAR 命名约定可以驱动上下文路径。如果没有在任何地方定义明确的上下文路径,war 的名称将成为上下文路径。
a.war > localhost:8080/a
b.war > localhost:8080/b
接下来的问题就是根据您的客户将 war 重命名为不同的名称。
https://docs.jboss.org/jbossas/guides/webguide/r2/en/html/ch06.html https://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Naming http://www.eclipse.org/jetty/documentation/current/configuring-contexts.html
将 build
元素中的默认 finalName
元素覆盖为所需的文件名(不带扩展名)可能会存档您想要的内容。然后,您当然需要注意版本。例如
<build>
<finalName>YourName</finalName>
</build>