Maven 入門 | Maven クイックスタート | エンコーディングとコンパイラ設定
前回の「プロジェクト作成と実行」で作成した pom.xml を編集し、エンコーディングとコンパイラのバージョンを設定する。
補足
前回の mvn package コマンドを実行すると、Windows 環境では次のような警告が発生した。
...
[WARNING] Using platform encoding (MS932 actually) to copy filtered resources, i.e. build is platform dependent!
...
[WARNING] File encoding has not been set, using platform encoding MS932, i.e. build is platform dependent!
...
今回の設定を行うと、この警告は表示されなくなる。
1. 変更前の pom.xml
前回プログラムを作成していれば、次の pom.xml が生成されているはずである。
my-app/pom.xml
<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.devkuma.app</groupId>
<artifactId>my-app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>my-app</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
2. 変更後の pom.xml
pom.xml を編集し、次の内容を保存する。
my-app/pom.xml
<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.devkuma.app</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</project>
主な変更内容
properties を追加し、エンコーディングを UTF-8、コンパイラバージョンを 1.8 に設定する。
詳細は次のとおりである。
project.build.sourceEncoding: ソースやプロパティファイルなどのエンコーディング設定。project.reporting.outputEncoding: レポートなどの出力リソースのエンコーディング設定。maven.compiler.source:javacコマンドの-source設定。maven.compiler.target:javacコマンドの-target設定。
その他の変更
- 空行を追加。
- JUnit を新しいバージョン 4.12 に変更。
- 現時点では不要な
name、urlタグを削除。
3. package コマンドの実行
次のコマンドで警告が表示されないことを確認する。
$ mvn clean package
念のため、以前の成果物を clean で削除してから実行する。