我想用我的快照部署源代码和 javadocs。这意味着我想自动化以下命令:
mvn clean source:jar javadoc:jar deploy
只需执行:
mvn clean deploy
我不想在该install
阶段(即本地构建)执行 javadoc/sources 生成。
我知道源/javadoc 插件可以与release
插件的执行同步,但我不知道如何将它连接到快照版本。
我想用我的快照部署源代码和 javadocs。这意味着我想自动化以下命令:
mvn clean source:jar javadoc:jar deploy
只需执行:
mvn clean deploy
我不想在该install
阶段(即本地构建)执行 javadoc/sources 生成。
我知道源/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。
Dan 提到的文章还提到了另一种无需修改 pom 且不会很快消失的方法:
mvn clean javadoc:jar source:jar install
这适用于 Maven 3+,以及...
mvn clean javadoc:jar source:jar deploy
我已经从 Jenkins 部署到 Nexus 进行了测试。
这种方法很好,因为我只需要修改一些 Jenkins 工作,而不需要弄乱我的 poms。
只是添加一个不需要您使用插件配置的替代方案:
mvn -DperformRelease=true [goals]