私たちは、開発時間のいくつかの日々の仕事をするためにMavenを使用して、私は単純に、このツールによってもたらされる利便性のいくつかの利点を活用しようとしていました。例えば、それは、私たちが実行を支援するために、依存関係の管理、パッケージ化と展開をもたらします。ここではいくつかの共通のプラグインであり、一般的にこれらのステップに関連するプロジェクトで使用されています。
maven-コンパイルプラグイン
このプラグイン名がこれを示唆しているだけのように、ソースコードをコンパイルするために使用されます。最初は、このプラグインに出くわした私たちはいくつかのプロジェクトをコンパイルする必要がダウンロードされたときに我々は、コマンドを入力すると、時々、そのようなことをされて、次のようMVNインストールしますが、システムは、時間のエラーをコンパイルし、エラーメッセージは次のとおりです。
maven-コンパイラプラグイン::[ERROR]はゴールorg.apache.maven.plugins実行に失敗しました2.0。2:(コンパイルデフォルト - コンパイル)をプロジェクトにspringJMS:コンパイルエラー:コンパイルエラー: [ERROR] /home/frank/programcode/SpringJMSSample/src/main/java/huangbowen/net/jms/MessageSender.java:6、1 ]エラー:注釈がサポートされていないに -source 1.3 [ERROR] [ERROR](使用 -source 5 注釈を有効にする以上) [ERROR] /ホーム/率直/プログラムコード/ SpringJMSSample / srcに/メイン/ javaの/ネット/ EmbedBrokerApp。 Javaの:[ 5、7]エラー:静的インポート宣言がサポートされていないに -source 1.3 [ERROR] - > [ヘルプ1 ] [ERROR] エラーの完全なスタックトレースを表示するには、[ERROR]、再 -eとMavenを-run スイッチ。 [ERROR]再 Mavenを-run 使っ -Xのスイッチを完全なデバッグログを有効にします。 [ERROR] [ERROR]エラーと考えられる解決策の詳細については、以下の記事をお読みください: [ERROR] [ヘルプ1 ]のhttp:// cwiki.apache.org/confluence/display/MAVEN/MojoFailureExceptionを
私たちが見ることができるからエラー表示が、これはjavacのを使用している場合、コンパイラのバージョン1.3がデフォルトであるため、コードがサポートされていない古すぎです。これを修正するために、我々は、コンパイラのバージョンを設定する必要があります。この問題に対する解決策は、コンパイラのバージョンが1.6に設定され、それは直接プラグイン、次の手段としての部品の後ろに次のプラグインを追加することで、比較的簡単です。
<ビルド> <プラグイン> <プラグイン> <groupIdを> org.apache.maven.plugins </ groupIdを> <たartifactId>のmaven-コンパイラプラグイン</たartifactId> <バージョン> 2.3。2 </バージョン> <構成>
<コード> UTF-8 </エンコーディング> <ソース> 1.6 </ソース> <ターゲット> 1.6 </標的> </構成> </プラグイン> </プラグイン> </ビルド>
<! -コンパイラプラグイン- > <プラグイン> <groupIdを> org.apache.maven.plugins </ groupIdを> <たartifactId>コンパイラのMavenプラグイン- </たartifactId> <バージョン> 3.5。1 </バージョン> <構成> > - <! - 1.7スタイル使用してソース・スタイル <ソース> 1.8 </ソース> <ターゲット> 1.8 </ target>を <エンコーディング> UTF- 8 </エンコーディング> <を! - compilerArgumentを使用するように設定を追加する必要がありますパラメータを持つメソッドJFinalコントローラ機能- > <compilerArgument> -parameters </ compilerArgument> <! - <compilerArgs> - >! - </ compilerArgs> - > <! -コードコンパイルされたクラス上でコンパイル- > <! - <compilerArg> -parameters </ compilerArg> - > <! - </ compilerArgs> - > <除外> <! -アプリケーションのコンパイル済みクラスを除外- > <除外> ** / ApplicationCodeGenerator.java </除外> </除外> </構成> </プラグイン>
<プラグイン> <! - Mavenの编译错误動的Webモジュール3.0が必要とするJava 1.6以降解决方案- > <! -プロジェクトが指定、编译级别1のレベルをコンパイル定義します。7 - > <プラグイン> <groupIdを> org.apache.maven.plugins </ groupIdを> <たartifactId>のmaven-コンパイラプラグイン</たartifactId> <バージョン> 2.3。2 </バージョン> <構成> <ソース> 1.7 </ソース> <ターゲット> 1.7 </標的> </構成>
あなたがいないこの内訳では、自分で特定の用途を見出すためにインターネットを使用することができたときに、次のプラグインは、一般的に、プロジェクトのMavenプラグインで使用されます。
リソースの達人・リソース・プラグインパッケージの割り当て
maven-確実な - プラグインのテスト
桟橋 - のmaven-pluginの桟橋を実行します
maven-jarファイル・プラグインのjarパッケージ(のmaven-jarファイル・プラグインのパッケージのみが生成されたクラスファイルが含まれている、とMaven-リソース・プラグインは、Mavenの依存性 - プラグインの組み合わせ)
Mavenの依存性 - プラグインの複製は、指定されたディレクトリのjarファイルに依存しているパッケージ
Mavenの戦争 - プラグインのパッケージには、実行可能な戦争を戦うために
maven-アセンブリプラグインが実行可能なパッケージを戦う(パッケージの競合をjarファイルかもしれませんが、バグがあり、お勧めできません)
maven-シェードプラグインが実行可能なパッケージを戦う(推奨)
春・ブートのmaven-pluginのspringBootプロジェクトパッケージ(一般のMavenのjarパッケージングコマンドの実装前に、jarファイルのパッケージ名の接尾辞は、すべての構成ファイルと実行ファイルの依存関係が含まれて生成された上で、その後、このjarパッケージに、.orginal増加基づき生成されます。 JARパッケージ)
maven-ソース・プラグイン発生源パッケージ
Coberturaの-のmaven-pluginのテストカバレッジ
ソナー-のmaven-pluginのソナー検出符号