プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • Java
  • 【Maven】基本的なゴールについて
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Maven】基本的なゴールについて

05.05

  • miyabisan2
  • コメントを書く

この記事は2分で読めます

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フォルダから、不要なファイルが削除されています。

スポンサーリンク
  • 2018 05.05
  • miyabisan2
  • コメントを書く
  • Java
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2018 04.30

    【Java】オブジェクト指向:インスタンス変数の初期化(コンストラクタ)、thisキーワード

  2. 2018 05.12

    【GoFのデザインパターン】「Singleton(シングルトン)」ってどんなパターン?、注意点なども。

  3. 2018 04.18

    【JSP】構成要素(コア要素、ディレクティブ、アクション)

  4. 2018 05.02

    【Java】ジェネリクス(<>)って何?使うメリット等。

  5. 2018 06.20

    【Struts】「カスタムタグ」の種類

  6. 2018 04.15

    【サーブレット】共通処理を書くには?(サーブレットフィルタの利用)

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【SQL】パフォーマンスを考えるに当たり必要な「結合」…

【Maven】セントラルリポジトリについて

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー