2012-11-07 21 views
35

大原子炉建屋から一部のモジュールを除外する方法はありますか?ここでコマンドラインを使用してMavenビルドから特定のモジュールを除外する方法

は永続的にそれを行うにはいくつかの方法です:

How to exclude a module from a Maven reactor build?

私はシェルから、または少なくとも私は変更することはできないのですPOMSを、変更せずにそれをしたいです。

+0

プロファイルを使用するには、私には最も簡単で、最も正しい方法であると思われます。 –

+0

@AndrewLogvinovはsettings.xmlで実行できますか?中央のポムでは、プロファイルごとのテストをオフにすることはできません。 ;-) – Bastl

答えて

59

のMaven 3.2.1がこの機能を追加した、あなたが望む正確なプロジェクトを指定する(あるいはしたくないプロジェクトを除外するために)使用することができます-plまたは--projectsここでは、2つを除外する方法は次のとおりです。

-pl "!<modulename>,!<modulename2>" 

は特定のモジュールを除外します。これは、含める/除外する値のカンマ区切りリストです。

+1

はウィンドウ内では機能しません。異なるキーワードがありますか?窓? – iMBMT

7

現在、これはコマンドラインからは可能ではないと思います。この非常に良いこと(mad3)にはオープン機能リクエストがあります(http://jira.codehaus.org/browse/MNG-5230)。

この時点で唯一のオプションのように見えるのは、pomを変更して、構築するモジュールのみを含む新しいビルドプロファイルを作成することです。

+0

実装されたようです... – rogerdpack

8

Yogesh_Dが、それはMavenの3.2.1+

で-pl引数で行うことができます書いたようにここでは例です:

> mvn clean install -amd -pl !module,!module/submodule 

あなたは、すべてのサブモジュール(とサブのサブの一覧を表示する必要があります-moduleなど)を手動で再帰的に除外しません。パッケージの分離にはスラッシュを使用してください。これはフォルダパスであり、グループIDまたはアーティファクトIDではありません。受け入れ答えに

+0

この情報がなければ、受け入れられた答えは –

34

別のコメント、bashでコマンドを実行するときに感嘆符をエスケープすることを忘れないでください:

> mvn clean install -pl \!module,\!module/submodule,\!groupId:artifactId 
+0

または引用符で囲まれていません:) – rogerdpack

+0

一重引用符( ')、つまり – dstibbe

関連する問題