如何使用源和JavaDoc部署SNAPSHOT?

我想用我的快照部署源和javadocs。 这意味着我想要自动化以下命令:

mvn clean source:jar javadoc:jar deploy 

只是为了执行:

 mvn clean deploy 

我不想在install阶段执行javadoc / sources生成(即本地生成)。

我知道source / javadoc插件可以与release插件的执行同步,但我不知道如何将它连接到快照发布。

 <build> <plugins> <plugin> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <id>attach-sources</id> <phase>deploy</phase> <goals><goal>jar-no-fork</goal></goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <executions> <execution> <id>attach-javadocs</id> <phase>deploy</phase> <goals><goal>jar</goal></goals> </execution> </executions> </plugin> <plugin> <!-- explicitly define maven-deploy-plugin after other to force exec order --> <artifactId>maven-deploy-plugin</artifactId> <executions> <execution> <id>deploy</id> <phase>deploy</phase> <goals><goal>deploy</goal></goals> </execution> </executions> </plugin> </plugins> </build> 

有关完整的示例,请参阅Sonatype的OSS父级POM 。

只是添加一个替代scheme,不需要你使用插件configuration:

 mvn -DperformRelease=true [goals] 

信用从http://sea36.blogspot.com/2009/02/attaching-javadocs-and-sources-to-maven.html?showComment=1314177874102#c6853460758692768998 mcbeelen

丹提到的文章也提到了另一种不用修改poms就可以工作的方法,并且不会马上消失:

mvn清洁javadoc:jar源码:jar安装

这与Maven 3+一起工作正常,以及…

mvn清洁javadoc:jar源码:jar部署

我已经从jenkins部署到Nexustesting。

这个方法很好,因为我只需要修改一些Jenkins的工作,而且不需要弄乱我的poms。