2017-08-11 8 views
2

タイムスタンプ のような私たちの変数を宣言するpomの親があり、モジュールごとに2つのモジュールを持つmavenプロジェクトがあります。この写真を見てください: my maven projectすべてのmavenプロジェクトモジュールに同じタイムスタンプ値を持っています

作成された成果物は、タイムスタンプと同じ値ではありません!! 作成されたすべての成果物のバージョンに同じタイムスタンプ値を設定する必要があります。

任意のヘルプ

答えて

0

私はこのようなのmavenコマンドでタイムスタンプを渡すことによってジェンキンスパイプライン と、この問題の解決策を見つけた:

//Get the timestamp 
     def now = new Date() 
     def timestamp = now.format("yyyyMMdd-HHmmss",TimeZone.getTimeZone('GMT+2')) 

     $ mvn clean install -Dcurrent.time=${timestamp} 

と私はちょうどこのリンクが見つかりました:これがあることをbuild-helper-maven-plugin

0

あなたは、親にカスタムプロパティを宣言することができwho'se値である、と言ってください:

<myCustomProperty>${maven.build.timestamp}</myCustomProperty> 

...とすべての子でこの値を使用します(などあなたの子供のそれぞれのビルドタイムスタンプを再評価することに反対する)。

+0

私の信念を、彼がしたこと。 @Inforedasterあなたはすべてのモジュールを別々にビルドしていますか、またはあなたの親のPOMからビルドしていますか? –

+0

申し訳ありませんが、私の理解は彼がしなかったことです。彼はそれぞれの子供に '$ {maven.build.timestamp} 'を使っていますが、これはもちろん違います。違いは、子モジュールのビルドが開始されるときに 'myCustomProperty'が上書きされないということです。 – Andrei

+0

私は親pom.xmlプロジェクトからすべてのモジュールをビルドします – Inforedaster

関連する問題