Apache Maven 勉強用メモ。
この記事について
Javaの初学関連で資料をまとめたメモです。
バージョンはMaven3になります。
公式
Maven – Welcome to Apache Maven
読み方
Apache Maven (アパッチ メイヴン/メイヴェン)
(読み方を最初アメコミの MARVEL 的なマーベンかと思ってた)
ユーザー設定の追加
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.archetypes の maven-archetype-quickstart を使用すれば良いと思います。
main関数とJUnitの設定まで含まれているarchtypeです。
ただしJUnitは3.8.1と古いので、4.x系か5.x系に上げたほうが良いかもしれないです。
Maven Repository: junit » junit
コマンドラインでの実行
$ mvn archetype:generate \
  -DarchetypeGroupId=org.apache.maven.archetypes \
  -DarchetypeArtifactId=maven-archetype-quickstart \
  -DinteractiveMode=false \
  -DgroupId=${groupId} \
  -DartifactId=${artifactId}
その他・プラグイン
Javaのコンパイルバージョンを明示的に指定
maven-compiler-plugin を使用する。
  <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のはじめかた
