Spring Boot のアプリを Maven でビルドする際に、Java のバージョンを指定する方法を書いていきます。
指定方法
pom.xml
のプロパティ java.version
で指定できます。
<project> ... <properties> <java.version>17</java.version> </properties> ... </project>
値は 8(1.8), 11, 17 といった番号になります。
Spring Boot の POM
アプリが継承する Spring Boot の POM は、プロパティを以下のように定義していました。
spring-boot-starter-parent-2.7.5.pom
<project> ... <properties> <java.version>1.8</java.version> <resource.delimiter>@</resource.delimiter> <maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.target>${java.version}</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> </properties> ... </project>
デフォルトのバージョンは 1.8
で、java.version
を上書きするとコンパイラの設定に反映されます。
また、文字コード(エンコーディング)は UTF-8
に設定されていました。アプリも UTF-8
の場合は設定を省略できます。