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

GlassFish&Junitの不具合

JavaEE(JSF+JavaBean+EJB+JTA)でアプリを製作しているのですが、EJBの部分のjunitができないことが判明しました。 正確に言うとラムダ式を使うと不具合がでます。原因としては …

no image

入出力操作

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

no image

BeanValidationの動的メッセージ出力について

JSF+ManagedBeanでは基本的にbeanValidationを使ってバリデーションを行い、エラーメッセージなどはプロパティファイルで管理するのが一般的です。 アノテーションなどを付与してあげ …

no image

Javaのarraycopy

最近あまりJava自体には触っていないですが、資格の勉強をコツコツとすすめていることもあり、新たな発見もあります。 8ヶ月ぐらいJava書いていますが、arraycopyというメソッドをはじめてしりま …

no image

try~catch~finallyで気を付けること

JavaでExceptionが発生したとき、基本的にはtry~catch~finallyをつかっているのですが、今回Exceptionが吐かれないという事態があったのでメモします。 [crayon-6 …