Maven 2 将版本化WAR文件部署到tomcat

Maven 2 将版本化WAR文件部署到tomcat,maven-2,tomcat,Maven 2,Tomcat,我想知道将maven打包的WAR文件部署到tomcat的最佳实践是什么。 使用maven发布插件,我为我的项目获得了一个版本化的war文件 例如:myservice-1.0.0.war 我想将它部署到tomcat,以便按如下方式访问它 例如: 默认情况下,tomcat将war文件分解为CATALINA_HOME/webapps下名为myservice-1.0.0的目录。但出于上述原因,我想将这场战争分解为一个名为myservice的目录 我知道我可以简单地重命名myservice-1.0.0.w

我想知道将maven打包的WAR文件部署到tomcat的最佳实践是什么。 使用maven发布插件,我为我的项目获得了一个版本化的war文件 例如:myservice-1.0.0.war

我想将它部署到tomcat,以便按如下方式访问它 例如:

默认情况下,tomcat将war文件分解为CATALINA_HOME/webapps下名为myservice-1.0.0的目录。但出于上述原因,我想将这场战争分解为一个名为myservice的目录

我知道我可以简单地重命名myservice-1.0.0.war>>myservice.war,然后在Tomcat中部署它


我想知道其他人在做什么?

我会将myservice称为artifactId和最终名称,并使用maven cargo插件部署到tomcat。

您可以使用以下内容打包文件/META-INF/context.xml:

<?xml version="1.0"?>
<!DOCTYPE Context>
<Context path="myapp">
</Context>


请参阅位于

的文档,而不是重命名war文件,您可以执行以下操作:

只需在tomcat dir/conf/server.xml的
标记之间添加以下内容

for:myservice-1.0.0.war文件

<Context path="/myservice" docBase="/myservice-1.0.0" debug="0" reloadable="true"></Context>


我遇到了同样的问题。对我有效的方法是将此属性元素插入到cargo可部署配置中:

                    <deployable>
                        <groupId>org.something</groupId>
                        <artifactId>something-idm-esb</artifactId>
                        <properties>
                            <context>something-idm-esb</context>
                        </properties>
                        <type>war</type>
                    </deployable>

什么组织
IDMSB
IDMSB
战争

如果没有这个properties元素,应用程序将被部署到localhost:8080/something-idm-esb-0.9.14.2,这不是应用程序在运行时需要的。通过属性部分,该应用程序被部署到localhost:8080/something idm esb/

谢谢。我确实使用工件id作为myservice,但我还需要对项目进行版本设置,在我的例子中是1.0.0,您在提供的链接中特别提到了什么提示?好的。。。在build标记中,有一个选项提供finalName,它将成为war的名称。你试过设置吗?哦,很酷,谢谢。我忘了。是的,这是一个选择,我绝对可以试试。我仍然有兴趣了解其他人是如何在他们的产品构建中使用它的。这对于主要版本来说是合理的,但是如果您的版本经常更改,您可能更喜欢自动化程度更高的版本。我可能会将您的解决方案与上述内容混合,从文件名中删除次要版本号。