Apache Maven
リンク
goals
clean
compile
- コンパイルtest
- テストpacakge
- 成果物を生成install
- test, compile, package した後にローカルリポジトリに登録dependency:go-offline
- オフライン化するために依存モジュールをダウンロードするdependency:tree
- 依存関係をツリー表示dependency:list -Dsort -DincludeScope=test
- 依存モジュールの一覧表示dependency:copy-dependencies -DoutputDirectory=lib -DincludeScope=runtime
- 依存モジュールを指定ディレクトリにコピーするdependency:analyze-report
-target/dependency-analysis.html
を出力help:active-profiles
- アクティブなプロファイルを表示archetype:generate
プロキシの設定
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が使用される場合がある。
- Mavenの実行結果を表示している
コンソール
画面のタイトルがJREのjavaw.exeになっている。 - プロジェクトの
ビルド・パス
を開き、ライブラリー
タブでJREシステム・ライブラリー
の内容をチェックすると、jarファイルの参照先がJREのディレクトリになっている。
JDKで動くようにする
- メニューの
ウィンドウ
-設定
を開き、Java
-インストール済みのJRE
-実行環境
でpom.xmlに指定したJavaバージョンの実行環境を選択する。 - JREとJDKが両方あるなら、JDKの方にチェックを入れる。