maven-assembly-plugin:没有版本的jar

时间:2017-03-31 10:52:55

标签: maven version maven-assembly-plugin

我需要使用所有(我自己的)没有版本号的jar创建我的应用程序的分发。

我设法配置程序集描述符以添加没有版本号的jar,但它也添加了带有版本号的相同jar

<assembly >
  <id>distribution</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <moduleSets>
    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <binaries>
        <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
        <outputDirectory>.</outputDirectory>
        <unpack>false</unpack>
      </binaries>
    </moduleSet>
  </moduleSets>
</assembly>

输出包含:

META-INF
DependingOnJarWithoutVersionNumber.jar
DependingOnJarWithoutVersionNumber-10.11.123.jar
JarWithoutVersionNumber.jar
JarWithoutVersionNumber-10.11.123.jar
  

如何阻止使用版本号添加jar ,同时保留那些没有版本号的

最终目标是仅针对自己的罐子(已知groupId s)应用版本号删除。

1 个答案:

答案 0 :(得分:0)

您可以使用destName属性声明目标JAR文件的名称:

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
    <id>zip</id>
    <includeBaseDirectory>true</includeBaseDirectory>

    <formats>
        <format>zip</format>
    </formats>
    <files>
        <file>
            <source> ${project.build.directory}/${project.artifactId}-${project.version}.jar</source>
            <outputDirectory>/</outputDirectory>
            <destName>${project.artifactId}.jar</destName>
        </file>
    </files>
</assembly>

另请参见https://medium.com/@kasunpdh/using-the-maven-assembly-plugin-to-build-a-zip-distribution-5cbca2a3b052