Maven:如何在战争中更改类jar名称?

时间:2013-09-05 08:16:01

标签: maven maven-war-plugin

我在maven-war-plugin的设置中使用archiveClassesattachClasses,以便将模块类打包在jar中。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>${maven-war-plugin.version}</version>
    <configuration>
        <webXml>${basedir}/src/main/webapp/WEB-INF/web.xml</webXml>
        <archiveClasses>true</archiveClasses>
        <attachClasses>true</attachClasses>
    </configuration>
</plugin>

但我想改变这个.jar名字。例如,war-classes.jar而不是module-war-1.0-SNAPSHOT.jar。

如果可以,我该怎么办呢?

1 个答案:

答案 0 :(得分:1)

您可以使用outputFileNameMapping进行一些文件名修改(我不适合您的需要)。

<configuration>
      <outputFileNameMapping>${artifactId}.jar</outputFileNameMapping>
  ...
</configuration>

您在outputFileNameMapping中指定的模式将是包含您的战争工件的所有代码的jar的文件名(当然,如果您当前也使用<archiveClasses>true</archiveClasses>)。

此外,此模式将附加到所有依赖项(使用短划线作为分隔符),因此实例log4j-4.16.jar将命名为log4j-myWebApp.jar(假设$ {artifactId}已解析为{{1并使用此模式myWebApp