Maven 2で考えられる目標をすべてリストしますか?


105

私は、Antの世界からやってきた、Mavenの初心者です。

実行できるすべての可能な目標(たとえば、すべてのプラグインを含む)をリストすることは可能ですか?

-gMaven 1には以前はフラグがあったことがわかりますが、これはバージョン2では使用できません。


4
Mavenがxmlのページなしではこの質問に答えることができないということは、私を混乱させます!いい物!
Kieveli 2013年

回答:


120

コマンドラインで指定する目標は、Maven のライフサイクルにリンクされています。たとえば、buildライフサイクル(cleanおよびsiteライフサイクルも異なります)は、次のフェーズで構成されています。

  • validate:プロジェクトが正しいこと、および必要なすべての情報が利用可能であることを確認します。
  • compile:プロジェクトのソースコードをコンパイルします。
  • test:適切なユニットテストフレームワークを使用して、コンパイルされたソースコードをテストします。これらのテストでは、コードをパッケージ化またはデプロイする必要はありません。
  • package:コンパイルされたコードを受け取り、JARなどの配布可能な形式でパッケージ化します。
  • integration-test:必要に応じて、パッケージを処理し、統合テストを実行できる環境に展開します。
  • verify:すべてのチェックを実行して、パッケージが有効であり、品質基準を満たしていることを確認します
  • install:ローカルリポジトリにパッケージをインストールし、ローカルで他のプロジェクトの依存関係として使用します。
  • deploy:統合環境またはリリース環境で行われ、他の開発者やプロジェクトと共有するために、最終パッケージをリモートリポジトリにコピーします。

「コア」プラグインのリストはここにありますが、codehausプラグインなど、他にもたくさんのプラグインがあります


1
ライフサイクルリファレンスをご覧ください。そこにはすべてのライフサイクル部品がリストされています。
Salandur

51

実行可能なすべての可能な目標(たとえば、すべてのプラグインを含む)をリストすることは可能ですか?

Mavenには何も組み込まれていませんが、フェーズのリストは有限です(プラグインのリストが存在しないため、プラグインのゴールのリストは存在しません)。

しかし、BASHを使用したMaven 2.x自動補完のガイドで説明されているように(Windowsの場合はcygwinを使用して)、bash補完の力をより簡単に活用 できます(ただし、このガイドからスクリプトを選択する前に、さらに読んでください)。

正常に動作させるには、まずこのガイドに従ってコンピュータにbash補完を設定してください。次に、Maven2のスクリプトを取得します。

  • あなたはミニガイドからのものを使うことができますが
  • MNG-3928に添付された改良版を使用している間
  • ネット上で見つかったランダムなスクリプトを使用することもできます(好奇心が強い場合はリソースを参照してください)
  • 個人的には、Ludovic ClaudeのPPAmavenUbuntuののパッケージバージョンにバンドルされています)から、HEADからダウンロードできるBash Completionスクリプトを使用しています。それは単に最高のものです。

以下は、結果を説明するためだけに得られるものです。

$ mvn [tab] [tab]
 377の可能性をすべて表示しますか?(yまたはn)
アリ:アリ 
ant:clean 
ant:help 
antrun:help 
antrun:run 
アーキタイプ:クロール 
アーキタイプ:作成 
archetype:create-from-project 
アーキタイプ:生成 
アーキタイプ:ヘルプ 
アセンブリ:アセンブリ 
アセンブリ:ディレクトリ 
アセンブリ:ディレクトリシングル 
アセンブリ:ヘルプ 
アセンブリ:単一  
... 

もちろん、377の可能性を参照することはありません。補完を使用します。しかし、これは "a"リストのサイズについてのアイデアを与えてくれます:)

資源


2
まだ確認していませんが、新しいMaven Shellツールは自動補完を提供しますか?
Romain Linsolas、

2
@romainいいえ、mvnsh完了を提供しません(少なくとも、自分のマシンにあるバージョンでは)。回答する前に確認しました:)
Pascal Thivent

7

IntelliJ IDEAを使用している場合は、Maven Projectsタブでプラグインを含むすべてのMavenゴール/タスクを参照できます。

Mavenプロジェクト


2
いくつかのコマンドでこれを実行したいと思います。IntelliJ IDEAはそれをどのように実行しますか?
nacho4d 2017

0

とても簡単にしましょう:

Mavenライフサイクル:1.クリーン2.デフォルト(ビルド)3.サイト

デフォルトのライフサイクルのMavenフェーズ:1.検証2.コンパイル3.テスト4.パッケージ5.検証6.インストール7.デプロイ

注:MavenのライフサイクルとMavenの目標を混同したり、混乱したりしないでください。

Maven Build Lifecycle Basics 1を参照してください。


0

ビルドライフサイクルはフェーズで構成されています

これらの各ビルドライフサイクルは、ビルドフェーズの異なるリストによって定義されます。ビルドフェーズは、ライフサイクルのステージを表します。

たとえば、デフォルトのライフサイクルは次のフェーズで構成されています(ライフサイクルフェーズの完全なリストについては、ライフサイクルリファレンスを参照してください)。

  • 検証-プロジェクトが正しく、必要なすべての情報が利用可能であることを検証します
  • compile-プロジェクトのソースコードをコンパイルします
  • test-適切なユニットテストフレームワークを使用して、コンパイルされたソースコードをテストします。これらのテストでは、コードをパッケージ化またはデプロイする必要はありません
  • パッケージ-コンパイルされたコードを受け取り、JARなどの配布可能な形式でパッケージ化します。検証-統合テストの結果をチェックして、品質基準が満たされていることを確認します
  • install-パッケージをローカルリポジトリにインストールし、ローカルで他のプロジェクトの依存関係として使用します
  • デプロイ-ビルド環境で行われ、他の開発者やプロジェクトと共有するために、最終パッケージをリモートリポジトリにコピーします。

これらのライフサイクルフェーズ(およびここには表示されていない他のライフサイクルフェーズ)は順次実行され、デフォルトのライフサイクルが完了します。上記のライフサイクルフェーズを考えると、これは、デフォルトのライフサイクルが使用される場合、Mavenは最初にプロジェクトを検証し、次にソースをコンパイルしてテストに対して実行し、バイナリ(jarなど)をパッケージ化し、それに対して統合テストを実行することを意味しますパッケージ、統合テストを検証し、検証済みのパッケージをローカルリポジトリにインストールしてから、インストールしたパッケージをリモートリポジトリにデプロイします。

ソース:https//maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.