Maven预先定义的“bin”程序集不工作?

时间:2010-11-12 18:43:18

标签: maven maven-assembly-plugin

我有一个项目,它使用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”,我会收到上述错误消息。

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

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

1 个答案:

答案 0 :(得分: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是否存在问题。如果你找不到任何东西,那么提出一个新的就好了。