問題タブ [maven-lifecycle]
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 エンフォーサ プラグインと欠落している依存関係
最小限のプロジェクトを次に示します。
実行時:
検証はOKです。
実行時:
または任意の段階validate
からprocess-resources
次のメッセージで失敗が予想されます。
しかし、他の(後の)フェーズを実行すると、次のようにcompile
なりますdeploy
。
依存関係が見つからないというエラーが表示されますが、エンフォーサ プラグインが原因で失敗することはありません。
エンフォーサ プラグインがまったく実行されていないように見えます。または、実行中compile
およびその後のフェーズでプロジェクトをビルドする前に、最初に依存関係がチェックされているようです。
しかし、 まで実行するときに依存関係がチェックされないのはなぜprocess-resources
ですか?
java - maven antrun copy/shade:shade ゴールを動的にスキップする方法は?
複数の小さなサービスで構成されるアプリケーションの構成に maven を使用しています。Java で開発されたほとんどのサービスは、同じビルド ライフサイクル、いくつかの共有リソース (Spring AMQP など) のように、同じ Maven 構成を共有します。
そのため、共有リソースを SuperPom にまとめました。
シェード プラグインは実際にはインストール プロセスを妨げるようには見えませんが、シェード プラグインによって jar ファイルが作成されていないため、antrun プラグインはもちろん、コピーする必要のあるファイルを見つけられません。
shade/antrun プラグインの構成を SuperPom で抽象化したいので、shade/copy ゴールをスキップする必要があります。
私は試しましmvn clean install -Dmaven.shade.skip=true
たmvn clean install -Dmaven.copy.skip=true
、、mvn clean install -Dmaven.shade.shade.skip=true
ここにあなたが遊ぶための小さなサンプルがあります:
maven - 統合フェーズ用に構成されたmavenプロファイルは、ビルドライフサイクル中に実行されますか?
pom.xml
ここに私のプロジェクトからの要約されたスニペットがあります
2 つの質問があります。
1)を実行するmvn clean package -Prun-tests
とどうなりますか? これらのプラグインの目標はintegration-test
フェーズにバインドされているため、ここで実行されるとは思っていませんでした。しかし、これらの目標が実行されたのはなぜですか?
2) 2 つのゴールがexecution
ブロックされているとはどういう意味ですか? 上記をご覧くださいfailsafe-plugin
ありがとう
maven - リリースを容易にするカスタム ライフサイクル マッピングの作成方法
私はリリース プラグインを使用してきましたが、必要に応じてそのソリューションを少し自動化しようとしています。
現時点では、すべてのビルドで次のコマンドが実行されます。
それは機能的ですが、私が望むほど簡潔ではありません。initialize
フェーズ中にアクティブ化され、リリース プラグインが実行される前に必要な、いくつかのプラグインを super-pom で定義しています。理想的には、コマンドを次のように表示したいと思います。
次に、さまざまなプラグインの必要なフェーズ/目標を呼び出します。
さらに、次のことを行うというフェーズを作成したいと思いdoMyStage
ます。
カスタムライフサイクルを備えたカスタムプラグインがこれを実現する方法だと思いますが、これを達成する方法がわかりません。私が読んだことから、ライフサイクルはパッケージングタイプにマッピングされています。プロジェクトのパッケージ タイプを変更したくはありませんが (パッケージは正しいままです)、ビルド コマンド ラインのショートカットを提供するだけです。
また、このコンセプトの優れたチュートリアル/実用的なmaven 3の例を見つけるのに苦労しています。私が目にするほとんどの例はすべてファイルを参照していますが、Maven 3 ではこれが記述子にcomponents.xml
置き換えられていることを読みました。default-bindings.xml
この記事https://developer.jboss.org/wiki/CreatingaCustomLifecycleinMaven?_sscc=tを見つけましたが、この問題に少し触れていますが、ほとんどの例と同様に、ライフサイクルのヒントに合わせてパッケージ タイプを変更する必要があります。
これを達成する方法はありますか?