我有兩個基於Maven的Java項目,項目A和項目B. 項目A由團隊管理,B由另一個團隊管理。項目A是一個基本項目,其項目B中消耗了庫和類。 當前,項目A的團隊在他們對項目進行任何更改時將其項目的罐子發送給團隊B,團隊B必須用舊項目新的一個。同步兩個java項目的最佳方法是什麼?
由於我們的項目是基於maven的項目並作爲git存儲庫進行管理,因此我相信會有更好的方式自動執行此操作,以便在項目A發生更改時,B團隊不必擔心它和最新的變化應該會自動反映到團隊B中。
我有兩個基於Maven的Java項目,項目A和項目B. 項目A由團隊管理,B由另一個團隊管理。項目A是一個基本項目,其項目B中消耗了庫和類。 當前,項目A的團隊在他們對項目進行任何更改時將其項目的罐子發送給團隊B,團隊B必須用舊項目新的一個。同步兩個java項目的最佳方法是什麼?
由於我們的項目是基於maven的項目並作爲git存儲庫進行管理,因此我相信會有更好的方式自動執行此操作,以便在項目A發生更改時,B團隊不必擔心它和最新的變化應該會自動反映到團隊B中。
看到,因爲你正在使用Maven,A隊應公佈項目A到資源庫(可能是一個私人的)。 B隊,然後依靠項目A(通過他們的POM),其餘的將自己照顧自己,即。不再需要手動複製庫。
作爲一種獎勵,團隊B總是可以準確指定他們希望依賴哪個版本的項目A. (設置你自己的私有存儲庫並不困難,Apache的Web服務器可以託管它,或者你可以使用Nexus這樣的工具,一些構建工具(例如gradle)會生成一個POM並將你的庫發佈到一個站點)
您可以通過詳細闡述您的「本地存儲庫」的含義來改進此答案。我假設你在談論一個「託管版本庫」,如Nexus或Artifactory。 –
將某個項目(jar + pom)推送到某個存儲庫(Nexus)。然後在最新版本的Project 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應該發佈到當地的Maven倉庫,團隊B應該依靠這個倉庫。不再需要手動複製jar文件。 – dave
你有你的問題本身的答案!你究竟想說什麼? – Suyash