1

我有一个项目使用 maven-assembly-plugin 创建源和二进制 tar 和 zip 文件以供下载。但是,每当我尝试构建 bin 程序集时,它都会失败并显示“tar 文件无法包含自身”的错误。

我可以通过使用 maven-archetype-plugin 创建的最小 Maven 项目重现此问题,并将以下内容添加到 pom.xml:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.2</version>
    <configuration>
      <descriptorRefs>
        <descriptorRef>src</descriptorRef>
        <descriptorRef>bin</descriptorRef>
      </descriptorRefs>
      <outputDirectory>${project.build.directory}/site/downloads</outputDirectory>
    </configuration>
    <executions>
      <execution>
        <phase>site</phase>
        <goals>
          <goal>single</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

有了这个插件声明,如果我执行“mvn site”或“mvn assembly:assembly”,我就会收到上述错误消息。

有谁知道为什么这不起作用?

我很乐意提供帮助诊断问题所需的任何其他信息。

4

1 回答 1

1

Maven Assembly Plugin 的 2.2 版似乎存在问题,您的代码段适用于该插件的 2.1 版。

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.1</version>
    <configuration>
      <descriptorRefs>
        <descriptorRef>src</descriptorRef>
        <descriptorRef>bin</descriptorRef>
      </descriptorRefs>
      <outputDirectory>${project.build.directory}/site/downloads</outputDirectory>
    </configuration>
    <executions>
      <execution>
        <phase>site</phase>
        <goals>
          <goal>single</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

我没有检查 Jira 是否存在现有问题。如果找不到,最好养一个新的。

于 2010-11-13T11:20:51.433 回答