[Java][Maven3] Maven3の使い方まとめ

  • 1
    いいね
  • 0
    コメント

Apache Maven 勉強用メモ。

この記事について

Javaの初学関連で資料をまとめたメモです。
バージョンはMaven3になります。

公式

Maven – Welcome to Apache Maven

読み方

Apache Maven (アパッチ メイヴン/メイヴェン)
(読み方を最初アメコミの MARVEL 的なマーベンかと思ってた)

ユーザー設定の追加

Maven – Settings Reference

settings.xml 配置場所

Windows

C:\Users\user\.m2 以下に settings.xml を追加する。

プロキシ設定

プロキシ環境下の場合 settings.xml に以下のような設定を追加する。

プロキシ設定例
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <proxies>
        <proxy>
            <id>proxy-http</id>
            <active>true</active>
            <protocol>http</protocol>
            <host>proxy.exsample.com</host>
            <port>8080</port>
            <!--<username></username>-->
            <!--<password></password>-->
        </proxy>
        <proxy>
            <id>proxy-https</id>
            <active>true</active>
            <protocol>https</protocol>
            <host>proxy.exsample.com</host>
            <port>8080</port>
            <!--<username></username>-->
            <!--<password></password>-->
        </proxy>
    </proxies>
</settings>

java - 社内環境におけるmavenのプロキシ認証エラーについて - スタック・オーバーフロー

アプリケーションサーバー設定を追加

Tomcatなどのアプリケーションサーバーの設定例

デプロイ先のサーバー設定追加例
    <servers>
        <server>
            <id>localhost</id>
            <username>user</username>
            <password>pass</password>
        </server>
    </servers>

[Windows][IntelliJ][Java][Tomcat] IntelliJでTomcat9の環境を作成する - Qiita

archetypeから環境を生成する

シンプルな構成(JavaのMain Class + JUnit の構成)を生成する

基本的には、org.apache.maven.archetypesmaven-archetype-quickstart を使用すれば良いと思います。
main関数とJUnitの設定まで含まれているarchtypeです。

ただしJUnitは3.8.1と古いので、4.x系か5.x系に上げたほうが良いかもしれないです。

Maven Repository: junit » junit

コマンドラインでの実行

mvnの実行例
$ mvn archetype:generate \
  -DarchetypeGroupId=org.apache.maven.archetypes \
  -DarchetypeArtifactId=maven-archetype-quickstart \
  -DinteractiveMode=false \
  -DgroupId=${groupId} \
  -DartifactId=${artifactId}

その他・プラグイン

Javaのコンパイルバージョンを明示的に指定

maven-compiler-plugin を使用する。

pom.xml
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.6.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
          <encoding>UTF-8</encoding>
        </configuration>
      </plugin>
    </plugins>
  </build>

Apache Maven Compiler Plugin – Introduction
Maven Repository: org.apache.maven.plugins » maven-compiler-plugin

How to change Java version for Maven in IntelliJ? - Stack Overflow
herokuのpushでJavaのCompilerがversion 1.5になってラムダ式を使うとコンパイルエラーが発生するときの対処方法 - Qiita

Mavenからプログラムの実行

Java プログラムを Maven から実行する方法 - Qiita

コマンドラインに exec:java を追加する

jarファイルをライブラリも含めて一つにまとめる

外部依存jarも含めて一つのjarファイルにまとめたい場合 Maven Assembly Plugin を使用すると良いらしい

Maven Assembly Plugin で外部依存 jar をまとめる - A Memorandum

IDE付属のMavenを使う場合

IntelliJ IDEA

Windows

以下あたりにMavenの実行バイナリが存在しているのでここにPATHを通す。

C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.1.2\plugins\maven\lib\maven3\bin

マルチ構成プロジェクトの場合

マルチモジュール構成プロジェクト用実行時オプション · Maven3のはじめかた

参考

Maven – Welcome to Apache Maven
Maven3 チュートリアル