タイムスタンプ のような私たちの変数を宣言するpomの親があり、モジュールごとに2つのモジュールを持つmavenプロジェクトがあります。この写真を見てください: すべてのmavenプロジェクトモジュールに同じタイムスタンプ値を持っています
作成された成果物は、タイムスタンプと同じ値ではありません!! 作成されたすべての成果物のバージョンに同じタイムスタンプ値を設定する必要があります。
任意のヘルプ
タイムスタンプ のような私たちの変数を宣言するpomの親があり、モジュールごとに2つのモジュールを持つmavenプロジェクトがあります。この写真を見てください: すべてのmavenプロジェクトモジュールに同じタイムスタンプ値を持っています
作成された成果物は、タイムスタンプと同じ値ではありません!! 作成されたすべての成果物のバージョンに同じタイムスタンプ値を設定する必要があります。
任意のヘルプ
私はこのようなの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
あなたは、親にカスタムプロパティを宣言することができwho'se値である、と言ってください:
<myCustomProperty>${maven.build.timestamp}</myCustomProperty>
...とすべての子でこの値を使用します(などあなたの子供のそれぞれのビルドタイムスタンプを再評価することに反対する)。
私の信念を、彼がしたこと。 @Inforedasterあなたはすべてのモジュールを別々にビルドしていますか、またはあなたの親のPOMからビルドしていますか? –
申し訳ありませんが、私の理解は彼がしなかったことです。彼はそれぞれの子供に '$ {maven.build.timestamp} 'を使っていますが、これはもちろん違います。違いは、子モジュールのビルドが開始されるときに 'myCustomProperty'が上書きされないということです。 – Andrei
私は親pom.xmlプロジェクトからすべてのモジュールをビルドします – Inforedaster