我有这样的项目结构:
- parent-project : pom.xml
+ child-project: pom.xml
+ child-project-2: pom.xml
我想将子项目的工件上传到Nexus,所以在我的子项目的pom.xml文件中,我定义了:
<distributionManagement>
<repository>
<id>nexus</id>
<url>http://my-repo:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus</id>
<url>http://my-repo:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
当我使用eclipse中的mvn clean deploy
运行子项目时,子项目的jar文件按预期上传到my-repo nexus存储库。
在Jenkins中,我有一个使用父项目pom.xml配置的作业。现在我想在jenkins完成构建过程之后将我的子项目的工件发布到nexus。到目前为止我所做的是:
让我困惑的是:
child-project/target/child-project-0.0.1-SNAPSHOT.jar
,但它没有用。詹金斯抛出一个例外java.io.IOException:child-project / target / child-project-0.0.1-SNAPSHOT.jar不存在
mvn clean deploy
配置作业构建,就像我在eclipse中一样将工件推送到nexus?如果是,那么我不再需要Nexus Repository Manager Publisher了吗?我如何配置nexus服务器的身份验证,就像我在/.m2文件夹中的settings.xml中一样?任何人都可以帮我澄清以上几点吗?非常感谢你!
你不需要插件你可以在你的工作中从shell运行maven clean install deploy我正在使用管道语法所以它是实际代码你可以使用jenkins ui创建一个shell步骤