同步两个 java 项目的最佳方法是什么?
What is the best approach to sync two java projects?
我有两个基于 Maven 的 java 项目,项目 A 和项目 B。
项目 A 由一个团队管理,B 由另一个团队管理。项目 A 是一个基础项目,其库和 类 在项目 B 中被消耗。
目前,每当项目 A 的团队对项目进行任何更改时,项目 A 的团队都会将他们项目的一个 jar 发送给团队 B,而团队 B 必须用新的 jar 替换旧的 jar。
由于我们的项目是基于 maven 的项目并作为 git 存储库进行管理,我相信会有更好的方法来自动完成,这样每当项目 A 发生变化时,团队 B不用担心,最新的变化会自动反映到B组。
将 A 项目 (jar+pom) 推送到某个存储库 (Nexus)。然后在项目 B POM.xml 中添加依赖,版本为最新。
<distributionManagement> <repository> <id>releases</id> <name>Releases Repository</name> <url> http://localhost:8081/nexus/content/repositories/releases </url> </repository> <snapshotRepository> <id>snapshots</id> <name>Snapshot Repository</name> <url> http://localhost:8081/nexus/content/repositories/snapshots </url> </snapshotRepository> </distributionManagement>
在项目A和B中添加以上内容
<dependency>
<groupId>mygroup</groupId>
<artifactId>C</artifactId></dependency>
在项目 B 中添加以上内容。
当在项目 A 中完成新更改时,它会在重建时反映在 B 中。
鉴于您正在使用 Maven,团队 A 应该将项目 A 发布到存储库(可能是私有存储库)。团队 B 然后依赖于项目 A(通过他们的 POM),其余的将自行处理,即。不再手动复制库。
作为奖励,团队 B 始终可以准确指定他们希望依赖的项目 A 的哪个版本。
(建立自己的私有仓库并不难。Apache的网络服务器可以托管它,也可以使用Nexus等工具。一些构建工具(例如gradle)会生成一个POM并发布您的图书馆到一个网站。)
我有两个基于 Maven 的 java 项目,项目 A 和项目 B。 项目 A 由一个团队管理,B 由另一个团队管理。项目 A 是一个基础项目,其库和 类 在项目 B 中被消耗。 目前,每当项目 A 的团队对项目进行任何更改时,项目 A 的团队都会将他们项目的一个 jar 发送给团队 B,而团队 B 必须用新的 jar 替换旧的 jar。
由于我们的项目是基于 maven 的项目并作为 git 存储库进行管理,我相信会有更好的方法来自动完成,这样每当项目 A 发生变化时,团队 B不用担心,最新的变化会自动反映到B组。
将 A 项目 (jar+pom) 推送到某个存储库 (Nexus)。然后在项目 B POM.xml 中添加依赖,版本为最新。
<distributionManagement> <repository> <id>releases</id> <name>Releases Repository</name> <url> http://localhost:8081/nexus/content/repositories/releases </url> </repository> <snapshotRepository> <id>snapshots</id> <name>Snapshot Repository</name> <url> http://localhost:8081/nexus/content/repositories/snapshots </url> </snapshotRepository> </distributionManagement>
在项目A和B中添加以上内容
<dependency>
<groupId>mygroup</groupId>
<artifactId>C</artifactId></dependency>
在项目 B 中添加以上内容。 当在项目 A 中完成新更改时,它会在重建时反映在 B 中。
鉴于您正在使用 Maven,团队 A 应该将项目 A 发布到存储库(可能是私有存储库)。团队 B 然后依赖于项目 A(通过他们的 POM),其余的将自行处理,即。不再手动复制库。
作为奖励,团队 B 始终可以准确指定他们希望依赖的项目 A 的哪个版本。
(建立自己的私有仓库并不难。Apache的网络服务器可以托管它,也可以使用Nexus等工具。一些构建工具(例如gradle)会生成一个POM并发布您的图书馆到一个网站。)