2

我在 maven-war-plugin 的设置中使用archiveClassesandattachClasses以便将模块类打包在 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。

如果可以,我该怎么做?

4

1 回答 1

1

您可以使用 tooutputFileNameMapping进行一些文件名修改(我不是它会满足您的需要)。

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

您指定的模式outputFileNameMapping将是 jar 的文件名,其中包含您的战争工件的所有代码(当然,只有在您也使用<archiveClasses>true</archiveClasses>时才会出现)。

但此外,此模式将附加到您的所有依赖项(以破折号作为分隔符),因此例如log4j-4.16.jar将被命名log4j-myWebApp.jar(假设 ${artifactId} 已解析为myWebApp并且您使用此模式${artifactId}.jar

于 2013-09-05T10:28:47.327 回答