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

  • 0
    いいね
  • 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
    

    参考

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