我在项目对象模型中包含了以下代码片段
<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“不会在目标目录中生成项目-Soures.jar。
编辑:可能我不理解来自网站的评论,我引用了:“source:jar目标默认绑定到生命周期阶段:包。”我预计,当我包含上面所示的插件部分时,maven已经将source:jar目标绑定到了包阶段。我是不是搞错了?这条评论是什么意思?
马蒂亚斯。
发布于 2012-07-24 21:54:40
文档有点误导。这个插件有一个默认的包执行阶段,但是没有默认的目标。我相信你已经为插件的工作指定了一个目标。
发布于 2012-07-24 18:53:09
您需要将plugin绑定到一个maven生命周期目标,以便它生成源jar。否则,您需要显式地mvn source:jar调用它。
正如文档中所述,您可以将其绑定到jar目标。
发布于 2012-07-24 19:24:08
试试这个:
<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 goal到生命周期的package阶段的默认绑定,这可能就是您在这里需要的。
https://stackoverflow.com/questions/11628968
复制相似问题