222
197

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

よく使うMavenコマンド集

Last updated at Posted at 2017-02-04

仕事上によく使うMavenのコマンド集を整理しました。

##検証環境
・macOS Sierra
・java version 1.8.0_111
・Apache Maven 3.3.9

##コマンド集

###Mavenのインストール
tarファイルを解凍し、PATHに追加するためにbash_profileにM3_HOMEを追記する。

$ tar xzvf apache-maven-3.3.9-bin.tar 
$ vi ~/.bash_profile
bash_profile
export M3_HOME=/Users/local/apache-maven-3.3.9
M3=$M3_HOME/bin
export PATH=$M3:$PATH

インストール後の確認

$ mvn --version

###雛形プロジェクトの作成。

$ mvn -B archetype:generate \
 -DarchetypeGroupId=org.apache.maven.archetypes \
 -DgroupId=com.myapp \
 -DartifactId=myapp

またはmvn archetype:generateで対話式でプロジェクト新規作成できる。

$ mvn archetype:generate

Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 923: 
Choose org.apache.maven.archetypes:maven-archetype-quickstart version: 
1: 1.0-alpha-1
2: 1.0-alpha-2
3: 1.0-alpha-3
4: 1.0-alpha-4
5: 1.0
6: 1.1
Choose a number: 6: 
Define value for property 'groupId': : com.myapp
Define value for property 'artifactId': : myapp
Define value for property 'version':  1.0-SNAPSHOT: : 
Define value for property 'package':  com.myapp: : 
Confirm properties configuration:
groupId: com.myapp
artifactId: myapp
version: 1.0-SNAPSHOT
package: com.myapp
 Y: : 

###プロジェクト検証
コンパイルを実行せず、プロジェクトに誤りがないかをチェックする。

$ mvn validate

###コンパイル
プロジェクトをコンパイルする

$ mvn compile

コンパイル時JDKバーションまたは、JVMオプションを指定する場合、pom.xmlに以下の情報を追記する。

pom.xml
<project>
  ...

  <build>
    <plugins>
      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.3</version>
          <configuration>
              <source>1.8</source>
              <target>1.8</target>
              <encoding>UTF-8</encoding>
              <compilerArgs>
                  <arg>-g</arg>
                  <arg>-Xlint</arg>
              </compilerArgs>
          </configuration>
      </plugin>
    </plugins>
  </build>

</project>

###テストの実行
Junitテストクラスの実行

$ mvn test

特定のクラスのみテストを実行する。

$ mvn test -Dtest=BlogicTest

特定のクラス、特定メソッドのみテストを実行する。

$ mvn test -Dtest= BlogicTest#blogicTest1

ワイルドカードを使って対象となるテストクラスを一括実行する。

$ mvn test -Dtest=Blogic*Test

###パッケージ生成
JAR、WAR等の成果物を生成する。
packageを実行すればvaliate、compile、test、packageのフェーズも実行される。

$ mvn package

テストコードの実行をスキップし、JARを生成する。

$ mvn package -DskipTests

テストコードのコンパイル、およびテストの実行をスキップする。

$ mvn package -Dmaven.test.skip

###インストール
JARをローカルリポジトリにインストールする。

$ mvn install

サードパーティJARをローカルリポジトリにインストールする。

mvn install:install-file -Dfile=target/foo.jar -DgroupId=com.foo -DartifactId=foo \
-Dversion=1.0 -Dpackaging=jar -DgeneratePom=true

テストコードの実行をスキップする。

$ mvn install -DskipTests

テストコードのコンパイル、およびテストの実行をスキップする。

$ mvn install -Dmaven.test.skip

###デプロイ

パッケージをリモートリポジトリに登録する。
deployを実行すれば、その前のフェーズが全部実行される。

$ mvn deploy

###Clean
targetディレクトリを削除する。

$ mvn clean

package、installの先に実行するのは一般的です。

$ mvn clean package
$ mvn clean install

###情報表示
プロジェクトが持つ依存関係をtreeで表示する。

$ mvn dependency:tree

デフォルト設定を含め、pomファイルの情報を表示する。

$ mvn help:effective-pom

デフォルト設定を含め、設定ファイルの情報を表示する。

$ mvn help:effective-settings

###ANT用build.xmlの生成
maven-ant-pluginを利用して、ant用build.xmlを生成する。

$ mvn ant:ant
$ tree
.
├── build.xml
├── maven-build.properties
├── maven-build.xml
├── pom.xml
└── src
    ├── main
    │   └── java
    │       └── com
    │           └── myapp
    │               └── App.java
    └── test
        └── java
            └── com
                └── myapp
                    └── AppTest.java

###Eclipse用プロジェクトの生成

maven-eclipse-pluginを利用して.project.classpathが生成され、Eclipseでインポートできるようになる。

$ mvn eclipse:eclipse

###ライブラリの出力
dependency-maven-pluginを利用し、依存するライブラリを特定のディレクトリにコピーする。

$ mvn dependency:copy-dependencies -DoutputDirectory=lib

###アセンブリの出力
maven-assembly-pluginを利用して、ビルド済みのプロジェクトから実行可能Jar(アセンブリ)を作成する。

$ mvn assembly:assembly -DdescriptorId=bin

###Javadoc
Javadocを生成する。

$ mvn javadoc:javadoc

###ライブラリソース
依存しているライブラリのソースを出力する。

$ mvn dependency:sources
222
197
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
222
197

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?