問題タブ [versions-maven-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Maven では、プロジェクトがリアクターの一部になるのはいつですか?
Versions Maven Pluginのソース コードを読んでいて、次のコード スニペットに気付きました。
一般に、プロジェクト (またはプロジェクトの親) がリアクタの一部になるのはいつですか? また、これが意味することは何ですか?
java - Maven バージョン プラグイン: maven 依存関係から rule.xml を参照しますか?
mvn versions:display-dependency-updates versions:display-plugin-updates
目標を使用して、依存関係またはプラグインの更新を確認しています。
私のmavenプロジェクトは、次のようなマルチモジュールプロジェクトです。
望ましくないベータ版など、不要な更新がいくつかあるため、フィルターを作成しました (これは機能します)。私はそれを次のように使用します:
既存のファイルを参照する必要があるため、プロファイルとプロパティを使用するversion.rules.uri
必要があります(デフォルトでは を指していますが、絶対パスで./build-config/rules.xml
もあります)。settings.xml
私はそれを避けたい:
- 独立した
build-config
プロジェクトの公開 - いくつかの uri を使用してこのプロジェクトを参照します。
m2:myGroupId:myArtifactId:version:scope:jar/rules.xml
ここで質問: jar などのリポジトリ エントリの読み取りを可能にする Maven Wagon プラグイン (maven バージョン プラグインで使用される) の実装はありますか?
maven-3 - Maven は SNAPSHOTS のみを最新バージョンに置き換えます
したがって、私はmaven 3.0.5を使用しており、プロジェクト内のすべての -SNAPSHOTS を同等の最新リリースバージョンに置き換えようとしています。誰かが私に maven プラグインのバージョンとマトリックスを指摘する前に:
http://mojo.codehaus.org/versions-maven-plugin/examples/advancing-dependency-versions.html
私はそれを調べましたが、これまでのところ、SNAPSHOT 以外の依存関係を無視するバージョン プラグインを取得できなかったことを付け加えさせてください。上記のリンクのマトリックスによると、 use-latest-releases の目標はまさに私が望むものであるはずですが、実行すると:
mvn バージョン:use-latest-releases
リリース バージョンを含むすべての依存関係は、最新にインクリメントされます。これは私が望んでいるものではなく、更新候補のリストからリリース バージョンを除外する方法が見つからないようです。
また、次のように、バージョンに -SNAPSHOT を含むアーティファクトのみを含めるようにバージョン プラグインを構成しようとしました。
すべてのスナップショットは「0-SNAPSHOTS」にバージョン付けされていることに注意してください。リリースには、 http://axelfontaine.com/blog/maven-releases-steroids.htmlで説明されているリリース プロセスの修正バージョンを実装しています。
さらに、基本的に次を使用して、プロパティに保存されているバージョン番号で同じことをしたいと思います。
mvn バージョン:更新プロパティ
すべてのリリース バージョンを無視し、更新対象の -SNAPSHOT バージョンのみを対象とします。
jenkins - リリースとバージョンの maven プラグイン
Maven リリースと Maven バージョンのプラグインに問題があります。Jenkins では、ボタンを押すと自動的にリリースしたいと考えています。スナップショットの依存関係を削除するには、maven バージョン プラグインを使用します。2 つのプロジェクト A (最新のリリース 0.0.1、最新のスナップショット 0.0.2-SNAPSHOT) と、ProjectA に依存するプロジェクト B (0.0.2-SNAPSHOT) があり、プロジェクト B をリリースしたいとします。プロジェクト B の依存関係をアップグレードするにはどうすればよいですか?最新の利用可能なリリース バージョンに? このプロジェクトには 0.0.2 リリース バージョンがないため、maven バージョン プラグインの目標 "use-releases" は 0.0.2-SNAPSHOT 依存関係を変更しません。
私の質問は次のとおりです。スナップショットの依存関係を自動的に削除し、シナリオで利用可能な最新のリリース バージョンに置き換えるにはどうすればよいでしょうか?
java - マルチモジュール プロジェクト (アグリゲーターを使用) の mvn versions:set を実行する場所は?
ビルド/集約pomを使用したマルチモジュールのmavenプロジェクトがあります。私のプロジェクトでは、バージョン番号が設定された共通の親 pom があり、すべての子モジュールが親バージョンを継承します (つまり、どの子 pom にもバージョン情報がありません)。ただし、ビルド pom には独自のバージョン番号があり、親 pom を継承しません。
プロジェクトのビルド バージョン (つまり、親バージョン) を更新しようとしています。親バージョンを更新することで、子モジュールの親へのすべての参照も更新する必要があります。元:
ただし、バージョン プラグインを適切に使用する方法がわかりません。これが機能することがわかった唯一の方法は、次を実行することです。
親の pom バージョンを更新しますが、子モジュールに再帰しません。
これは「正しい」ようには見えません.2つのステップであり、update-child-modulesを本来の方法で実際に使用していません。
どのモジュールからバージョンを呼び出す必要がありますか: 目標を設定しますか? 親とすべての子のバージョンを自動的に更新するワンステップ ソリューションはありますか?
maven - Maven バージョン-maven-plugin バージョン プラグイン 2.2 -- Maven Uncle Situation
Maven は 3.1.0 です。
プロジェクトの pom.xml で versions-maven-plugin:2.2 を使用しています (以下を参照)。通常の pom.xml ファイル構成とは別に、メイン コードのスナップショットを以下に示します。
mvn clean installを実行すると、正常にビルドされます。
注:私のプロジェクトには、グループID「com.company.product」が同じグループIDである展開親アーティファクトに依存している親セクションがあります。上に貼り付けました)が、展開親は別のリポジトリ/プロジェクトの成果物です。
mvn versions:set -DnewVersion=0.0.7を実行すると、次のエラー メッセージが表示されます。
今、versions-maven-plugin バージョンを 2.1 (以前に使用していたもの) に戻すと、上記のmvn versions:set -DnewVersion=0.0.7コマンドが正常に機能し、pom.xml ファイルが正常に変更されます。<version>0.0.7</version>
ツールの親アーティファクト用。
バージョン 2.2 では、エラーが発生し、バージョンが 0.0.7 に変更されません。
- 2.2 が失敗する理由はありますか? それを解決するために何ができますか?
maven - Maven アップデート バージョンの目標は、Jenkins で古いバージョンをビルドします
任意のバージョン番号でリリース成果物を生成できるようにする必要がある Jenkins/maven ビルドがあります。バージョン番号は、パラメーターとしてビルド ジョブに渡されます。versions:set
バージョンを pom.xml にあるものから $VERSION パラメータに更新するために使用しています。ビルドが実行されると、実際には maven が pom.xml の作業コピーのバージョンを更新しているように見えますが、古いバージョン番号でアーティファクトをビルドします。
pom.xml:
Jenkins ジョブで最上位の Maven ターゲットを呼び出します。
私のビルド出力は次のようになります ($VERSION が 0.1.2 の場合)
最初の実行は古いバージョンでビルドされますが、作業ディレクトリが元に戻されていない場合、その後の実行は更新された pom.xml の新しいバージョンで正しくビルドされることに気付きました。成果物がビルドされる前に、pom ファイルを新しいバージョンで更新するにはどうすればよいですか?
制約:
- pom.xml に変更を加えることは可能かもしれませんが、それは私たちの直接の管理下にあるわけではなく、あまり実用的な解決策ではありません。理想的な世界では、pom はすでに正しいバージョンで更新されており、これをまったく行っていません。
- Mavenビルドの前にシェルステップを追加して、pom.xmlなどでsed replaceを実行できることはわかっています。それは機能しますが、醜く、より複雑な pom ではうまくスケーリングできません。ネイティブの Maven ソリューションが非常に好まれます。
- これをジェンキンスとは別にテストしました(つまり
mvn versions:set -DnewVersion=0.1.2
)、動作は同じです