我可以更改dir格式maven程序集的根目录吗?

我可以更改dir格式maven程序集的根目录吗?,maven,maven-assembly-plugin,Maven,Maven Assembly Plugin,我正在使用“dir”格式的程序集描述符来生成分解的可分发文件。目前,这会将我包含的文件放在名为“target/${project.build.finalName}”的目录中 理想情况下,我希望这个目录以不同的名称命名。理想情况下为“target/${project.artifactId}”,实质上是删除版本组件 希望进行此更改的原因是,我需要在一个离散的管道步骤中引用该归档文件中的文件,并且在路径中使用该版本会带来可维护性问题 提供的程序集描述符的简化版本: <assembly>

我正在使用“dir”格式的程序集描述符来生成分解的可分发文件。目前,这会将我包含的文件放在名为“target/${project.build.finalName}”的目录中

理想情况下,我希望这个目录以不同的名称命名。理想情况下为“target/${project.artifactId}”,实质上是删除版本组件

希望进行此更改的原因是,我需要在一个离散的管道步骤中引用该归档文件中的文件,并且在路径中使用该版本会带来可维护性问题

提供的程序集描述符的简化版本:

<assembly>
  <id>preparation</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>

  <fileSets>
    <fileSet>
      <directory>${project.basedir}/src/main/resources</directory>
      <outputDirectory/>
      </excludes>
    </fileSet>
  </fileSets>
</assembly>
我想到达

target/myArtifactId/assembledResources
baseDirectory和friends只影响根目录中的路径,仍然给我留下一个包含版本号的路径,如:

target/myArtifactId-1.0.0-SNAPSHOT/myArtifactId/assembledResources

在maven maven程序集插件中,将
配置为
${project.artifactId}

注意: 在下面的示例中,将
src/assembly/dist.xml
的位置更改为您的位置

例如:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.1.0</version>
    <configuration>
        <descriptors>
            <descriptor>src/assembly/dist.xml</descriptor>
        </descriptors>
        <finalName>${project.artifactId}</finalName>
        <appendAssemblyId>false</appendAssemblyId>
    </configuration>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

org.apache.maven.plugins
maven汇编插件
3.1.0
src/assembly/dist.xml
${project.artifactId}
假的
包裹
单一的
我假设您不想将“准备”附加到名称中,因此我将
false

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.1.0</version>
    <configuration>
        <descriptors>
            <descriptor>src/assembly/dist.xml</descriptor>
        </descriptors>
        <finalName>${project.artifactId}</finalName>
        <appendAssemblyId>false</appendAssemblyId>
    </configuration>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>