4

我正在将我的 Maven 构建从 2.2-beta5 移动到 2.2。根据文档组件:组件已被弃用,我正在尝试用组件替换它:单个。我一直在尝试各种配置,但仍然无法正常工作我通常会收到以下错误:读取程序集时出错:未找到程序集描述符。

   <plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2</version>
<executions>
 <execution>
  <id>make-assembly</id>
  <phase>assembly</phase>
  <goals>
   <goal>single</goal>
  </goals>
  <configuration>
   <finalName>${env}.${project.version}</finalName>
   <appendAssemblyId>false</appendAssemblyId>
   <filters>
    <filter>src/main/filters/${env}/${build.env}/filter-common.properties</filter>
    <filter>src/main/filters/${env}/${build.env}/filter-${user.name}.properties</filter>
   </filters>
   <descriptors>
    <descriptor>src/main/assembly/distribution.xml</descriptor>
   </descriptors>
  </configuration>
 </execution>
</executions>

执行: mvn clean package assembly:single install antrun:run

我也尝试将配置移出执行标签,但这会导致同样的问题。从命令中删除 assembly:single 时,我没有执行插件。请让我知道执行此插件的正确方法是什么?

非常感谢

4

1 回答 1

3

经过一些试验和错误后,我注意到通过将其添加到包阶段,它会正常工作:

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.2</version>
    <executions>
        <execution>
              <id>make-assembly</id>
              <phase>package</phase>
              <goals>
                  <goal>single</goal>
              </goals>
    <configuration>
    <finalName>${env}.${project.version}</finalName>
    <appendAssemblyId>false</appendAssemblyId>
    <filters>
            <filter>src/main/filters/${env}/${build.env}/filter-common.properties</filter>
            <filter>src/main/filters/${env}/${build.env}/filter-${user.name}.properties</filter>
    </filters>
    <descriptors>
            <descriptor>src/main/assembly/distribution.xml</descriptor>
    </descriptors>
                    </configuration>
            </execution>
    </executions>
                    </plugin>
于 2010-12-07T12:28:19.777 回答