Maven のコマンドを使用する

ここでは Maven の主なコマンドをひと通り実行し、プロジェクト管理の流れの雰囲気をつかんでみましょう。
まずはどんなコマンドがあるか見てみましょう。

主なコマンド

コマンド 説明
mvn archetype:generate プロジェクトの作成。
mvn compile コンパイルする。
mvn test ユニットテストを実行する。
mvn javadoc:javadoc Javadoc の作成。
mvn site Web サイトの作成。
mvn package パッケージの作成。
mvn install ローカルリポジトリにインストール。
mvn deploy リモートリポジトリに配置。
mvn eclipse:eclipse Eclipse 用のファイル(.classpath 、 .project)を作成する。
mvn idea:idea IntelliJ IDEA用のファイル(my-app.iml, my-app.ipr, my-app.iws)を作成する。
mvn clean プロジェクトのクリーン。
mvn コマンドで生成された成果物を削除する。

コマンドの実行

コマンドの雰囲気がつかめたら、実際に実行してみましょう。
基本的に mvn コマンドは、カレントフォルダに対して実行されます。
※Windows のコマンドプロンプトを管理者で実行すると、 “c:\Windows\System32” がカレントフォルダになっているので注意!

  • プロジェクトの作成
    プロジェクトの作成には、 mvn archetype:generate を使用します。

    mvn -B archetype:generate ^
    -DarchetypeGroupId=org.apache.maven.archetypes ^
    -DgroupId=com.mycompany.app ^
    -DartifactId=my-app

    実行すると、なにやら色々ダウンロードを開始すると思います。
    ここでダウンロードしてきたファイルはローカルリポジトリに保存されます。
    最終的にカレントフォルダに以下の構成で my-app フォルダが作成されます。
    ルートに pom.xml というファイルが作成されています。
    これはプロジェクトの設定を保存する重要なファイルなので覚えておきましょう。
    (これを極めれば maven を極めたといっても過言では無い!らしい)

    my-app
    │  pom.xml
    │
    └─src
        ├─main
        │  └─java
        │      └─com
        │          └─mycompany
        │              └─app
        │                      App.java
        │
        └─test
            └─java
                └─com
                    └─mycompany
                        └─app
                                AppTest.java

    これは一体何をしているのかというと、org.apache.maven.archetypes というプロジェクトのテンプレートを取得して、オプションで指定しているグループIDとアーティファクトIDで、プロジェクトを作成する・・という感じだと思います。
    (Visual Studio で例えると、プロジェクトの新規作成で、テンプレートを指定して、空のプロジェクトが作成されたとこまでを実行したイメージかな?)
    実際にはもっと指定すべきオプションがありますが、ここでは”-B” (batch の意味)を指定することで、対話型の入力を省略して、デフォルトの設定でプロジェクトを作っています。
    “-B”を削除して実行すると、プロンプトで色々聞かれると思います。
    ※ここは記述内容が多いので別投稿に移す。

  •  コンパイル
    作成したプロジェクトをコンパイルするには、mvn compile コマンドを使用します。

    mvn compile

    初回のコンパイルは、プロジェクトが使用しているライブラリ等を色々とダウンロードしてくるので少し時間がかかりますが、2回目以降はそれほど時間はかからないと思います。
    コンパイルを実行すると “my-app\Target” にクラスを生成します。
    (基本的に Maven の成果物はこの中にできていくっぽい。)

  • ユニットテスト
    ユニットテストを実行するには、mvn test コマンドを使用します。

    mvn test

    ユニットテストのクラスファイルや、テスト結果が Target フォルダ内に作成されます。

  • Javadocの作成
    Javadoc を作成するには、mvn javadoc:javadoc コマンドを使用します。

    mvn javadoc:javadoc

    Javadoc は “my-app\target\site\apidocs” に作成されます。

  • Web サイトの作成
    プロジェクトの情報が見れるWebサイトを作成するには、mvn site コマンドを使用します。

    mvn site

    Webサイトは、 “my-app\target\site” に作成されます。

  • パッケージング
    jar や war 等のパッケージを作成するには mvn package コマンドを使用します。
    パッケージの種類は pom.xml で指定します。
    (プロジェクト作成時に、オプションで指定することもできます。)

    mvn package

    実行すると “my-app\target” に、my-app-1.0-SNAPSHOT.jar が作成されます。

  • ローカルリポジトリにインストール
    作成したパッケージをローカルリポジトリにインストールするには、mvn install コマンドを使用します。

    mvn install
  • リモートリポジトリに配置
    リモートリポジトリにパッケージをデプロイするには少々下準備が必要です。
    まず、pom.xml にリモートリポジトリの情報を記述します。
    次に、settings.xml にリモートリポジトリへの認証情報を記述します。
  • eclipse のプロジェクトに変換
    mvn eclipse:eclipse
  • IntelliJ IDEA との連携
    mvn idea:idea
  • プロジェクトのクリーン
    mvn コマンドで作成された成果物を削除するには mvn clean コマンドを使用します。

    mvn clean

    “my-app\target” が削除されます。
    ※eclipse や IntelliJ IDEA 用のファイルは削除しない。

色々書きましたが、全部ここに書いてます。
http://maven.apache.org/guides/getting-started/index.html

Tk2

映画とかゲームとかが好きです。 はやく引退して悠々自適な生活したい。

コメントを残す