2016-04-26 5 views
0

プロジェクトAには依存関係が含まれているjarファイルとプロジェクトBが作成されています.JenkinsがプロジェクトBをビルドしても、それはバージョン範囲内であっても、プロジェクトAの最新バージョンです。Jenkins Maven 3ビルドでバージョン範囲に一致する最新バージョンが選択されない

たとえば、私はプロジェクトBでビルドを行いました。プロジェクトAの最新バージョンがprojectA-1.0.20160425-2125.54.jarであっても、それはコア1.0.20160422-1926.49.jarの以前のバージョンを取得しました。

どのようにして、プロジェクトBが常に範囲内の最新のプロジェクトAビルドを取得できるようにすることができますか?プロジェクトBは、このMaven3ラインを使用して構築され、ジェンキンスで

clean pmd:pmd deploy -P buildServer -DversionMajor=1 -DversionMinor=0 -DbuildNumber=$BUILD_NUMBER 

:ここ

詳細がされている...ジェンキンスで

、プロジェクトAは、このMaven3ラインを使用して構築されてい

clean pmd:pmd deploy generate-sources javadoc:jar source:jar -DversionMajor=7 -DversionMinor=0 -DbuildNumber=$BUILD_NUMBER 

ここには、両方のプロジェクトのpom.xmlファイルの抜粋...

プロジェクトA:

<groupId>vod</groupId> 
<artifactId>projectA</artifactId> 
<version>${versionMajor}.${versionMinor}.${maven.build.timestamp}.${buildNumber}</version> 

プロジェクトB:

<groupId>vod</groupId> 
<artifactId>projectB</artifactId> 
<version>${versionMajor}.${versionMinor}.${maven.build.timestamp}.${buildNum 
<dependency> 
    <groupId>vod</groupId> 
    <artifactId>projectA</artifactId> 
    <version>[1.0,2.0)</version> 
</dependency> 

答えて

1

バージョンを定義するとき、私は、これは標準のMaven機構であり、-snapshot分類器を使用します。つまり、

1.2-SNAPSHOTとしてバージョンを定義すると、ワールドスナップショットは自動的にビルド時のタイムスタンプに置き換えられます。

プロジェクトBのリファレンスAで1.2-SNAPSHOTを実行すると、mavenは自動的に最も長いタイムスタンプを持つビルドを選択します。 SNAPSHOTについてのこの短い記事をご覧ください。http://www.tutorialspoint.com/maven/maven_snapshots.htm

+0

NicoPaez、ありがとうございます。あなたが参照した記事へのリンクを付けるつもりでしたか? – Erikson

+0

おっと!私はちょうどリンクを追加しました。ありがとう! – NicoPaez

関連する問題