我正在使用maven
构建一个Web应用程序。我想更改生成的warfile的名称以获取不同的上下文路径。
澄清误解:不是在开发期间更改名称,而是可以在不触及任何代码的情况下(例如,针对客户)。此外,应该可以在不同的服务器上部署这些战争(如WildFly,Tomcat等)。
示例:
Hello.war
= Hello.war - > URL:localhost:8080 / Hello
stupid.war
= stupid.war - > URL:localhost:8080 / stupid
我怎样才能做到这一点?这甚至可能吗?
答案 0 :(得分:4)
对于流行的servlet容器(JBoss,Tomcat,Jetty),WAR命名约定可以驱动上下文路径。如果在任何地方都没有定义明确的上下文路径,则war的名称将成为上下文路径。
a.war > localhost:8080/a
b.war > localhost:8080/b
问题就在于根据你的客户将战争重命名为不同的名称。
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
答案 1 :(得分:1)
将finalName
元素中的默认build
元素覆盖为所需的文件名(不带扩展名)可以存档您想要的内容。那么你当然需要注意版本。例如
<build>
<finalName>YourName</finalName>
</build>
答案 2 :(得分:0)
这样做的简单方法是