我有一个maven项目依赖于git上的另一个远程项目。我添加了一个
<scm>
<connection>scm:git:git@github.com:MY-Group/my.project.git</connection>
<url>https://github.com/MY-Group/my.project</url>
</scm>
进入我目前的项目pom.xml。
当我mvn scm:checkout
时,项目被下载到目标/结帐文件夹。
我想要做的是将mvn install
覆盖为
这可能吗?如果是这样我们怎么能实现这个目标任何帮助
答案 0 :(得分:0)
在评论中阐述了khmarbaise的答案,项目间签出和构建依赖关系并不是Maven的意思,但 是一个自动构建系统,Maven存储库可以很好地完成。< / p>
Maven存储库(如Artifactory或Nexus)就像是Maven Central的私有版本。
Jenkins是一个持续集成系统(希望你已经运行它)。您可以将Jenkins配置为轮询SCM服务器以进行更改,并在看到更改时启动构建。 Jenkins将使用Maven构建您的工件并将其部署到您的私有存储库。 Jenkins还可以了解项目间的依赖关系,并在上游项目更改后启动下游构建。
除了这是处理您的Maven项目集合的“正确”方式之外,如果项目规模很大,它还可以节省您的时间。假设您有一些非常大的核心服务器代码,并且您正在编写与服务器通信的接口。在您的原始问题中,您必须检查并编译服务器才能处理您的接口代码,即使您不打算修改服务器。更好的是让Jenkins为您构建服务器。现在,处理服务器项目的人员检查并编辑它,依赖服务器项目的人从私有存储库中获取构建的工件。
答案 1 :(得分:0)
使用apache archiva并解决了问题