tech.chakapoko.com
Home / Java / Maven

[Java]Mavenの設定(pom.xml)

pom.xmlとは

Mavenはビルドのための設定やプロジェクト情報をpom.xmlに記述します。タスクを実行すると、Mavenはカレントディレクトリのpom.xmlを見て設定を読み込みます。

pom.xmlにはいくつかデフォルトの設定があります。

  • ビルド結果はtarget/に書き出されます
  • ソースはsrc/main/javaに置きます
  • テストコードはsrc/test/javaに置きます

最小限のpom.xml

<?xml version="1.0"?>
<project
    xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
        http://maven.apache.org/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <groupId>com.example</groupId>
  <artifactId>com.example</artifactId>
  <version>0.0.1</version>
</project>

依存ライブラリの設定とスコープ

<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.12</version>
  <scope>test</scope>
</dependency>
スコープ効果
compilescopeの指定を省略した場合のデフォルト値です。全ての状況でクラスパスに追加されます
providedライブラリがJDKやコンテナによって提供される場合に指定します。コンパイル時のみクラスパスに追加されます
runtime実行時のみに必要な場合に指定します。テストの実行および通常の実行のときにクラスパスに追加されます。
testテストのときのみ必要な場合に指定します。テストのコンパイルと実行のときにクラスパスに追加されます。
system明示的にクラスパスに追加する場合に指定します。このスコープのライブラリは常に有効であるとみなされ、リポジトリの検索は行われません。