[解決済み] Maven。ライフサイクル vs フェーズ vs プラグイン vs ゴール [終了しました]。
質問
比較的新しい開発者ですが、少し前からMavenを使用しているため、Mavenの基礎を固めたいと思っています。私の問題の一部は、私が no の経験を持っていないことです。私はチュートリアルを読み、見てきましたが、同じ用語を聞き続けました。
- ライフサイクル
- フェーズ
- プラグイン
- 目標
私が学んだところでは、ライフサイクルは最も広範なものであり、フェーズ、プラグイン、および/またはゴールで構成される(またはそれによって完成される)ようです。
質問 : これらの用語がどのように関連しているか、また最も一般的な例について、何か情報を提供していただけないでしょうか?
より明確で基本的であればあるほどよいです。
どのように解決するのですか?
A Maven ライフサイクル は、すべての ステップ (をカバーする抽象的な概念です(より良いのは、Maven設計者がサポートすることに決めたすべてのステップ)。 で、プロジェクトの開発期間中に発生すると予想されるものです。 これらのステップ(またはステージ)は と呼ばれる 段階 と呼ばれます。
A Maven プラグイン のコンテナ/サプライヤです。 のゴールを提供します。 goalsで実装されたコードが真の仕事人です。( コアとなるMaven自体はプラグインを管理し、ゴールを実行するだけ ). プラグインのゴールはそれぞれ ライフサイクルフェイズ .
起動時に
mvn <phase>
Mavenはすべてのフェーズを通過します。
(毎回)
を実行し、すべてのゴール
(プラグインから提供される)
のいずれかにバインドされているすべてのゴールを実行します。
にバインドされているものである。ゴールがバインドされていないフェーズがある場合、何も行われません。しかし、それにもかかわらず、フェーズは渡されます。
すなわち、あなたは "'insert' additional phases" を Maven の組み込みライフサイクルの 1 つに挿入することはできません。それらはすでに存在し、常に存在します。独自のフェーズを持つ独自のライフサイクルを開発することもできますが、それは単に Maven をそのまま使用することをはるかに超えています。
ゴールは直接実行することもできます。
mvn
をフェーズや(plugin:)ゴールなしで実行したときに言われます[ここでは読みやすくするために改行して短縮しています]。
You must specify a valid lifecycle phase or a goal in the format
<plugin-prefix>:<goal> or
<plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>.
Available lifecycle phases are:
...
... 実際の出力を見るか Maven、ビルドライフサイクルの紹介 で リファレンス の下にあります。
参考文献
-
POM にゴールバインディングがないのに、Maven が何をすべきかを知っていることを不思議に思ったことがあるなら、次のリンクを参照してください。
default-bindings.xml
にあるそのページの一番下にある<Your Maven installation>/lib/maven-core-x.y.z.jar/META-INF/plexus/default-bindings.xml
.組み込みのライフサイクルのためのフェーズ ( クリーン , デフォルト , サイト ) の中で宣言されている
<Your Maven installation>/lib/maven-core-x.y.z.jar/META-INF/plexus/components.xml
の下に<component-set><components><component><role>org.apache.maven.lifecycle.Lifecycle
. 参照 ライフサイクルリファレンス .
関連
-
[解決済み】Spring Data Maven Buildsの「プラグインの実行はライフサイクル構成でカバーされていません」を解決する方法
-
[解決済み] Mavenプロジェクトにローカルのjarファイルを追加する方法は?
-
[解決済み] MavenにおけるdependencyManagementとdependenciesの相違点
-
[解決済み] mavenの強制アップデートを行うには?
-
[解決済み] mavenで単一のテストメソッドを実行する
-
[解決済み] Mac OS XでのMavenのインストール
-
[解決済み] Maven。ライフサイクル vs フェーズ vs プラグイン vs ゴール [終了しました]。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン