ルチアーノの入力に基づいて、私はマルチモジュールMavenプロジェクト/ 2モジュール(DAO &ウェブ)
親
<groupId>com.karthik</groupId>
<artifactId>test</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
..........
</dependencies>
</dependencyManagement>
<modules>
<module>web</module>
<module>dao</module>
</modules>
子供モジュール#1を持つ親POM作成している - DAO
を
<parent>
<groupId>com.karthik</groupId>
<artifactId>test</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>dao</artifactId>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>oracle</groupId>
<artifactId>ojdbc6</artifactId>
</dependency>
.........
</dependencies>
子モジュール#2 - web(POMで宣言されたdao依存関係)
<parent>
<groupId>com.karthik</groupId>
<artifactId>test</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>web</artifactId>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
<dependency>
<groupId>com.karthik</groupId>
<artifactId>dao</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
.........
</dependencies>
mvnパッケージコマンドを親pomのルートパスで実行すると、web.warとdao.jarの両方のモジュールがビルドされます。この方法は、常に最新のバージョンのdao.jarがweb.warにパッケージされていることを保証します。
jarファイルをArtifactoryにデプロイし、犠牲に基づいてライブラリを使用します。さらに、不変なリリースの原則に違反しているため、同じjarファイルを何回か変更することになります。ベストプラクティスは、jarファイルを変更するたびにバージョンを変更することです。 – khmarbaise
pom.xmlを変更せずにリリースされたバージョンをアップグレードすると、残念なことに、デザイナーは...誰にも変更が加えられたことに気づくでしょう元のjarファイルも...それの兆候はありません.. – khmarbaise
@khmarbaise私はあなたのコメントを完全に理解できませんでしたが、Dao.jarの依存性のバージョンを更新する以外のオプション/アプローチ新しいバージョンのカスタムライブラリ(Dao.jar)がartifactoryにプッシュされるたびに、maven Webプロジェクト(WAR)のpom.xmlに追加されます。どのように常に最新のjarファイルをMaven Webプロジェクトにパッケージングするのですか?子プロジェクトとしてDao.jarを作成しますか? – Karthik