Maven:如何为项目重命名war文件?

day*_*mer 84 java maven

我有一个bird包含以下组件的项目pom.xml

   <groupId>com.myorg</groupId>
    <artifactId>bird</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>bird</name>

    <modules>
        <module>persistence</module>
        <module>business</module>
        <module>service</module>
        <module>web</module>
    </modules>
Run Code Online (Sandbox Code Playgroud)

和web模块

   <parent>
        <artifactId>bird</artifactId>
        <groupId>com.myorg</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <artifactId>web</artifactId>
    <packaging>war</packaging>  
Run Code Online (Sandbox Code Playgroud)

web模块创建名为web-1.0-SNAPSHOT.war
How can I 的war文件,使用maven将其重命名为bird.war

Séb*_*nec 188

您可以在产生战争的Web模块中使用以下内容:

<build>
  <finalName>bird</finalName>
 . . .
</build>
Run Code Online (Sandbox Code Playgroud)

这导致在使用目标"war:war"时创建名为bird.war的文件.

  • 或者更一般地说,我们可以使用:`<finalName> $ {project.artifactId} </ finalName>` (11认同)

And*_*rte 22

您需要配置war插件:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.3</version>
        <configuration>
          <warName>bird.war</warName>
        </configuration>
      </plugin>
    </plugins>
  </build>
  ...
</project>
Run Code Online (Sandbox Code Playgroud)

更多信息在这里

  • 仅供参考:此答案不再有效(自maven-war-plugin 3.0.0及更高版本起).请参阅https://issues.apache.org/jira/browse/MWAR-373. (8认同)

bam*_*sza 8

查找 pom.xml > 项目标签 > 构建标签。

我想要下面的解决方案。

<artifactId>bird</artifactId>
<name>bird</name>

<build>
    ...
    <finalName>${project.artifactId}</finalName>
  OR
    <finalName>${project.name}</finalName>
    ...
</build>
Run Code Online (Sandbox Code Playgroud)

为我工作。^^


Kru*_*tik 6

如果您正在使用maven项目,则可以按照以下步骤修改.war文件名.

打开你的maven项目的pom.xml文件并转到标签<build></build>,

  1. 在这个标签之间给出你想要的名字: <finalName></finalName>.

    恩.:<finalName>krutik</finalName>

    部署此.war后,您将能够访问URL:
    http:// localhost:8080/krutik /

  2. 如果你想用斜杠'/'访问url,那么你必须指定name,如下所示:

    例如: <finalName>krutik#maheta</finalName>

    部署此.war后,您将能够访问URL:
    http:// localhost:8080/krutik/maheta