【问题标题】:Maven : How to avoid version appended to a war file in Maven?Maven:如何避免在 Maven 中附加到战争文件的版本?
【发布时间】:2012-05-19 21:13:48
【问题描述】:

我使用 Maven 作为构建文件,这是我下面要生成的 war 文件名的设置

我使用的是 Maven 2.2.1 版

     <artifactId>TataWeb</artifactId>
<packaging>war</packaging>
<version>1.0</version>

所以它实际上生成了一个名为 TataWeb-1.0 的 war 文件

但我希望战争文件名只有 TataWeb。

请告诉我如何避免战争文件名附加的版本??

谢谢。

【问题讨论】:

    标签: maven maven-2 build


    【解决方案1】:

    只需将此添加到您的pom.xml

    <build>
        <finalName>TataWeb</finalName>
    </build>
    

    【讨论】:

    • 我有 6 个 pom.xml 文件,一个是父文件,我需要在哪里添加这个??
    • @user1253847:在pom.xml中负责生成WAR文件,即带有&lt;packaging&gt;war&lt;/packaging&gt;的那个。
    • 是的,我这样做了,但是没有用,仍然是用 Tataweb-1.0.war 生成的,我已经添加了 pom.xml 文件,请参阅。
    • @user1253847:您确定要使用tata 配置文件构建您的应用程序吗?因为finalName 只在那里定义。
    • finalName 只会阻止添加目标文件夹中的信息,但不会阻止部署过程中添加的信息。
    【解决方案2】:

    嗯,这不是 Maven 方式。 Maven 确实有一个版本属性.. 使用它。

    【讨论】:

    • 尽管这不是 maven 方式,但在某些情况下必须有人这样做。
    【解决方案3】:

    您可以通过执行“干净编译包”而不是“干净安装”来避免附加到战争文件名的版本。

    【讨论】:

    • 因为,这不会将它安装到本地 maven repo。所以,文件名变化的角度,类似于上面 IMO 给出的 build/finalName 解决方案。
    【解决方案4】:

    您应该使用您的 artifactid,而不是硬编码文件名。

    <build>
      <finalName>${project.artifactId}</finalName>
    </build> 
    

    【讨论】:

    • 这样更好。谢谢!
    猜你喜欢
    • 2011-01-25
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-22
    • 1970-01-01
    相关资源
    最近更新 更多