
Mavenの基本である「ゴール」についてご説明致します。
ゴールとは?
ゴールに何を指定するかで、実行する処理内容が変わります。
ゴールの種類
ゴールの種類 | 説明 |
---|---|
compile | プログラムをコンパイルするゴールです。 |
test-compile | ユニットテスト用のクラスをコンパイルします。 |
test | ユニットテストが標準機能として用意されており、テストを単体で実行するためのゴールです。 |
package | プログラムのパッケージ化を行うためのゴールです。 |
clean | コンパイル、テスト等の際の不要なファイルを全て消去するゴールです。 |
compile(プログラムをコンパイルするゴール)
対象のmavenのアプリのpom.xmlを右クリック→実行→Maven ビルドをクリックします。
ゴールに、「compile」を入力して、「実行」をクリックします。
コンソールに、下記のようなメッセージが表示されていたらコンパイル成功です。
すると、targetディレクトリに下記のようなフォルダができています。
compileで作成されるフォルダについて
項目 | 説明 |
---|---|
classes | コンパイルされたJavaクラスが、パッケージごとに保存されます。 |
maven-status | compileで利用されるcompilerプラグインにより生成されるファイルが保存されます。コンパイルしたソースとコンパイルで生成されたファイルのリストが書いてあります。 |
test-compile(ユニットテスト用のクラスをコンパイルする。)
compileは、mainフォルダのソースコードをコンパイルしましたが、これは「testフォルダ」のソースをコンパイルします。
コンパイル後は、「classes」ではなく、「test-classes」フォルダにソースが配置されます。
test(ユニットテストを単体で実行するためのゴール)
pom.xmlを右クリック→実行→「Maven test」をクリックします。
コンソールに、下記のように表示されていたらテスト成功です。
テストでは何をやっているのか?
その真相は下記のsrcのtestにある「AppTest.java」というファイルがテスト用のソースコードになります。
デフォルトでは下記のようになっている。
デフォルトでは、下記のソースコードの「assertTrue( true );」の部分が実行されて、成功が1件という結果になっています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
package com.mvntest.mvntest_app; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; /** * Unit test for simple App. */ public class AppTest extends TestCase { /** * Create the test case * * @param testName name of the test case */ public AppTest( String testName ) { super( testName ); } /** * @return the suite of tests being tested */ public static Test suite() { return new TestSuite( AppTest.class ); } /** * Rigourous Test :-) */ public void testApp() { assertTrue( true ); } } |
package(プログラムのパッケージ化を行うゴール)
デフォルトでは、packageはないので、「実行の構成」をクリックします。
ゴールに、「package」を入力して、「実行」をクリックします。
すると、targetフォルダにjar化されたアプリが入っています。
clean(不要なファイルを削除するゴール)
Maven cleanを選択します。
targetフォルダから、不要なファイルが削除されています。
この記事へのコメントはありません。