如何使用maven创建项目源的jar存档

时间:2012-07-24 10:32:13

标签: maven pom.xml maven-source-plugin

我在项目对象模型中包含以下代码段

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-source-plugin</artifactId>
    <version>2.1.2</version>
  </plugin>

根据 maven.apache.org,插件将jar目标附加到包阶段。 但是,执行“mvn clean; mvn package”不会在目标目录中生成project-sources.jar。

编辑:我不明白网站上的评论,我引用:“[来源:jar目标]默认绑定到生命周期阶段:package。”我预计,当我包含如上所示的插件部分时,maven已经将源:jar目标绑定到包阶段。我错了吗?评论意味着什么?

马提亚。

3 个答案:

答案 0 :(得分:5)

文档有点误导。该插件具有包的默认执行阶段,但没有默认目标。我相信你已经指定了一个目标,以便插件能够正常工作。

答案 1 :(得分:1)

您需要将plugin绑定到maven生命周期目标,才能生成源jar。否则,您需要显式调用mvn source:jar

根据记录here,您可以将其绑定到jar目标。

答案 2 :(得分:0)

试试这个:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>2.1.2</version>
        <executions>
          <execution>
            <id>attach-sources</id>
            <goals>
              <goal>jar-no-fork</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  ...
</project>

它然后使用生命周期的jar-no-fork目标到package阶段的默认绑定,这可能就是你需要的。