将版本化的WAR文件部署到tomcat

时间:2010-10-07 16:02:06

标签: maven-2 tomcat

我想知道将maven打包的WAR文件部署到tomcat的最佳做法是什么。 使用maven release插件我得到了一个版本化的war文件用于我的项目 例如:myservice-1.0.0.war

我想将它部署到tomcat,以便我可以按如下方式访问它 例如:http://localhost:8080/myservice

默认情况下,tomcat将war文件作为CATALINA_HOME / webapps下名为myservice-1.0.0的目录进行爆炸。但出于上述原因,我想将战争爆炸为名为myservice的目录。

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

我想知道别人做了什么?

4 个答案:

答案 0 :(得分:3)

我会通过将myservice作为artifactId和最终名称并使用maven cargo plugin来部署到tomcat来实现。 http://cargo.codehaus.org/Maven2+Plugin+Tips

答案 1 :(得分:2)

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

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

请参阅http://tomcat.apache.org/tomcat-5.5-doc/config/context.html

上的文档

答案 2 :(得分:1)

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

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

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

答案 3 :(得分:0)

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

只需在<Host>..<\Host>标记之间的tomcat-dir / conf / server.xml中添加以下内容。

for:myservice-1.0.0.war file

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

Reference