skillup

技術ブログ

Java

mavenのゴール

投稿日:

以前、pomに依存ライブラリを記述しましたが、コンパイルのときのみクラスパスが通っており、実行時にはクラスパスが通っていない、NoClassDefFoundErrorがでたことがありました。

気づいたらスコープをprovidedにしてありました。これだとコンパイルの時のみパスが通るようですね。

ライブラリのスコープについては以前ここで記述していますので今回はゴールについて(testで使う以外は基本無し、テストの時のみtestでいいと思います。)

mavenのゴール(特に頻出のもの)

mvn site

pom.xmlをもとにプロジェクトの情報をHTML形式に吐き出してくれます。
現在使用しているプラグイン読み込んでいるjarファイルの一覧等が確認できます。

javadocを出力したいときなどに使いましょう。

mvn compile

target/classes 配下にjavaコンパイルした.classファイルを作成してくれます

mvn test-compile

target/test-classes 配下にコンパイルしたテスト用.classファイルを作成してくれます

mvn test

target/classes 配下にjavaコンパイルした.classファイルを作成し
target/test-classes 配下にコンパイルしたテスト用.classファイルを作成し
target/surefire-reports 配下にテスト結果を作成してくれます
mavneデフォルトのテストツールは「JUnit」となっておりpom.xml内でdependencyが定義されています

mvn package

target 配下にjarファイルを作成し
target/classes 配下にjavaコンパイルした.classファイルを作成し
target/test-classes 配下にコンパイルしたテスト用.classファイルを作成し
target/mavne-archiver 配下にpom.properties(プロジェクトのメタ情報ファイル?要調査)を作成し
target/surefire-reports 配下にテスト結果を作成してくれます
「jar:jar」「compile」「test-compile」「test」等をまとめて実行してくれるgoalです
test結果に関してはSurefireプラグインというプラグインを使っているようでテスト結果を統計的に見れるファイルも作成してくるようです
http://maven.apache.org/surefire/maven-surefire-report-plugin/

通常はpackageでよさそうですね。

また特定のprofileに基づいてデプロイ(設定ファイルを書き換えたいとき)したいときは引数をわたすなどのカスタマイズもできます。

参考リンク

http://kakakikikeke.blogspot.jp/2013/10/mavengoal.html

-Java
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Javaでのコーディングで気を付けること

会社でSoftWareDesignを定期購読しており、Javaのコーディングで気をつけることなどがあったので、ちょっとチェック。 以前も似たようなエントリーは書いたことがあったのだけど、再確認。メモ書 …

no image

Javaビルドツール

JavaではPHPやRubyなどといったインタプリタ言語とは違い、ソースはクラスファイルといわれるファイルに変換する必要があります。この作業をコンパイルと呼びます。最低限この作業をやらないとプログラム …

no image

依存ライブラリを含むプログラムのjar化に関して

以前、jar化する場合のpomの記述方法について書いたのですが、一部記述が正しくなかったようです。 mavenでのjarファイル作成 この方法でやってもjarファイルを単独で取り出すとNoClassD …

no image

JSPでのインクルード

JSPで社内アプリを作る機会があったので、メモ。 基本的なこともまだわかっていないんですが、とりあえずでてきたものから紹介してきます。 インクルードから。 ヘッダー、フッターみたいな別々に分けたりする …

no image

データベース文字コード対策他

Contents1 JDBC文字化け対策2 BigDecimal2.1 ソース2.2 参考リンク3 CreateQuery4 jsfのconvertNumber JDBC文字化け対策 データベースがu …