使用tomcat7-maven-plugin设置已部署战争的名称

时间:2015-02-13 15:40:27

标签: java maven tomcat

我正在部署一个多模块项目,对Tomcat服务器进行多次战争,它几乎可以正常工作。这是pom.xml

的一部分
<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <url>http://localhost:8080/manager/text</url>
        <server>${ed.tomcat.server.name}</server>
        <webapps>
            <webapp>
                <groupId>com-mycompany.project</groupId>
                <artifactId>admin</artifactId>
                <version>${ed.project.version}</version>
                <type>war</type>
                <asWebapp>true</asWebapp>
                <path>/ed-admin</path>
            </webapp>
            <webapp>
                <groupId>com.mycompany.project</groupId>
                <artifactId>frontend</artifactId>
                <version>${ed.project.version}</version>
                <type>war</type>
                <asWebapp>true</asWebapp>
                <path>/ed-frontend</path>
            </webapp>
        </webapps>
    </configuration>
</plugin>

此代码将admin.warfrontend.war部署到Tomcat服务器,没问题。但是我想重命名那些war文件,而不重命名Maven模块。

我在Google上搜索了几个小时,但没有任何结果。你能给我任何帮助吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我不确定它是否有效,但您可以尝试使用<finalName>标记。

如果您使用例如以下它将创建一个“myFinalFile.jar而不是group + artifact id。

<build>
    <finalName>MyFinalFile</finalName>
</build>

所以我建议你测试下面的pom.xml。在<finalName>部分添加了<webapp>标记:

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <url>http://localhost:8080/manager/text</url>
        <server>${ed.tomcat.server.name}</server>
        <webapps>
            <webapp>
                <groupId>com-mycompany.project</groupId>
                <artifactId>admin</artifactId>
                <version>${ed.project.version}</version>
                <type>war</type>
                <asWebapp>true</asWebapp>
                // following line must be configured to your needs
                <finalName>myAdminFileName</finalName>
                <path>/ed-admin</path>
            </webapp>
            <webapp>
                <groupId>com.mycompany.project</groupId>
                <artifactId>frontend</artifactId>
                <version>${ed.project.version}</version>
                <type>war</type>
                <asWebapp>true</asWebapp>
                // following line must be configured to your needs
                <finalName>myFrontendFileName</finalName>
                <path>/ed-frontend</path>
            </webapp>
        </webapps>
    </configuration>
</plugin>