skillup

技術ブログ

Java

mavenのゴール

投稿日:2015年9月10日 更新日:

以前、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に基づいてデプロイ(設定ファイルを書き換えたいとき)したいときは引数をわたすなどのカスタマイズもできます。

参考リンク

1. 検索処理の概要

-Java
-

執筆者:


comment

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

関連記事

no image

JSFのテンプレート機能

Contents1 保守性の向上で必要なHTMLの考え方1.1 サンプル1.2 ファイル構成1.3 ソース1.3.1 静的なファイル群1.3.2 テンプレート1.3.3 アクセスファイル1.4 Net …

no image

JSFのifタグ

JSFは基本的にテンプレートなので、 HTML+CSS+JavaScript ロジック側からの変数の出力 ループ処理 以上のことをさせることはあまりありません。 が、まれに条件分岐なんかをさせたいとき …

no image

Javaのオブジェクト指向に関して

Contents1 staticメソッド2 アクセス修飾子3 抽象クラス3.1 オーバーライド(親クラスのメソッドを上書きすること)3.2 オーバーロード(同名メソッドを複数もつこと)4 interf …

no image

文字列のENUM化

文字列をENUM化したいときの処理について リンク集です。 ENUMが文字だけのとき(key=>valueタイプでない時)、key=>valueタイプの時両方OKのようです。 enum 定 …

no image

入出力操作

Javaの出力処理について書きます。 下記リンクが非常に詳しかったので、これをもとにまとめてみたんですが、咀嚼できてないっぽい・・・・ もう1~2度修正がひつようかも。 Contents1 Javaの …

アーカイブ