目次

Apache Maven

リンク

goals

プロキシの設定

nonProxyHostsの記述形式はNetworking Propertiesを参照。

~/.m2/settings.xml
<settings>
  <proxies>
    <proxy>
      <active>true</active>
      <id>myHttpProxy</id>
      <protocol>http</protocol>
      <username>proxyuser</username>
      <password>proxypass</password>
      <host>172.31.0.2</host>
      <port>3128</port>
      <nonProxyHosts>127.0.0.1|localhost|172.31.*|*.internal</nonProxyHosts>
    </proxy>
    <proxy>
      <active>true</active>
      <id>myHttpsProxy</id>
      <protocol>https</protocol>
      <username>proxyuser</username>
      <password>proxypass</password>
      <host>172.31.0.2</host>
      <port>3128</port>
      <nonProxyHosts>127.0.0.1|localhost|172.31.*|*.internal</nonProxyHosts>
    </proxy>
  </proxies>
</settings>

プロファイルの指定

-P<profile> でプロファイルを指定。

テストをスキップする

コマンドラインで-DskipTestsを指定すると、テストの実行をスキップする。

コマンドラインで-Dmaven.test.skipを指定すると、テストコードのコンパイルもスキップする。

JUnitのテストでファイルを読み込む

ファイルは src/test/resources の下に配置する。 Eclipseでは、 src/test/resources をソースパスに追加する。

起動ディレクトリを特定できないので、クラスローダから取得する。

private File loadTestFile(String filename) throws FileNotFoundException {
    try {
        URL fileURL = ClassLoader.getSystemResource(filename);
        return new File(fileURL.toURI());
    } catch (URISyntaxException | NullPointerException e) {
        throw new FileNotFoundException(filename);
    }
}

試験実行時の環境変数とシステムプロパティを設定する

pom.xml
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <environmentVariables>
            <VAR_NAME>var_value</VAR_NAME>
          </environmentVariables>
          <systemPropertyVariables>
            <PROP_NAME>prop_value</PROP_NAME>
          </systemPropertyVariables>
        </configuration>
      </plugin>
    </plugins>
  </build>

MavenのプロジェクトからEclipseのプロジェクトを作成する

mvn eclipse:eclipse

EclipseからMavenを実行するとコンパイルに失敗する場合

Eclipseの設定のインストール済みのJREでJDKを追加してデフォルトにしているのに、 JDKで実行していないというエラー(No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?)が発生する。

インストール済みのJREに同じバージョンでJDKとJREがあるとJREが使用される場合がある。

JDKで動くようにする

  1. メニューのウィンドウ-設定を開き、Java-インストール済みのJRE-実行環境でpom.xmlに指定したJavaバージョンの実行環境を選択する。
  2. JREとJDKが両方あるなら、JDKの方にチェックを入れる。