2017-09-08 15 views
1

私は2つのMavenベースのJavaプロジェクト、プロジェクトAとプロジェクトBを持っています。 プロジェクトAはチームによって管理され、Bは別のチームによって管理されます。プロジェクトAは、プロジェクトBでライブラリーとクラスが使用される基本プロジェクトです。 現在、プロジェクトAのチームは、プロジェクトに変更を加えたときにチームBにプロジェクトのjarを送信し、チームBは、新しいもの2つのJavaプロジェクトを同期する最良の方法は何ですか?

私たちのプロジェクトはmavenベースのプロジェクトであり、gitリポジトリとして管理されているので、プロジェクトAに変更があるたびに、チームBが気にする必要はありません最新の変更は自動的にチームBに反映されます。

+0

それから....(あなたの質問は何ですか?) –

+0

あなたはMavenを使用しています。チームAはローカルのMavenレポに公開し、チームBはそれに依存する必要があります。 JARファイルを手動でコピーする必要はありません。 – dave

+0

あなた自身があなたの質問に答えてくれました!あなたは正確に何を言おうとしていますか? – Suyash

答えて

1

、チームAは、リポジトリ(おそらくプライベート1)にプロジェクトAを公開する必要があります。チームBとし、プロジェクトAに依存して(POMを介して)、残りはそれ自身を処理します。手動でライブラリをコピーする必要はありません。

ボーナスとして、チームBは常に彼らが依存したいプロジェクトAのバージョンを正確に指定することができます。

(自分のプライベートリポジトリの設定は難しくありませんが、ApacheのWebサーバーでホストすることも、Nexusなどのツールを使用することもできます)。いくつかのビルドツール(例えばgradle)はPOMを生成し、

+1

あなたは "ローカルリポジトリ"が意味するものについて少し詳しく説明することで、この回答を改善することができます。私はあなたがNexusやArtifactoryのような "マネージドリポジトリ"について話していると仮定します。 –

-1

Aプロジェクト(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> 

上記を追加し、プロジェクトBに

プロジェクトAとBに
<dependency> 
<groupId>mygroup</groupId> 
<artifactId>C</artifactId></dependency> 

を上記を追加します。 プロジェクトAで新しい変更が行われると、再構築中にBに反映されます。あなたはMavenを使っていると見て

For more Maven

関連する問題