Методы установки версии Java в проекте Maven: плагин компилятора, цепочки инструментов и плагин Enforcer

Чтобы установить версию Java в проекте Maven, вы можете использовать различные методы. Вот некоторые из наиболее распространенных подходов:

  1. Используйте подключаемый модуль компилятора Maven. Вы можете настроить подключаемый модуль компилятора Maven в файле pom.xmlвашего проекта, чтобы указать версию Java. Добавьте следующую конфигурацию в раздел :
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.8.1</version>
      <configuration>
        <source>1.8</source>
        <target>1.8</target>
      </configuration>
    </plugin>
  </plugins>
</build>

Замените 1.8на нужную версию Java (например, 1.11для Java 11).

  1. Используйте плагин Toolchains: Плагин Maven Toolchains позволяет определить версию Java во внешнем файлеtoolchains.xml. Создайте файл toolchains.xmlв .mvn
<toolchains>
  <toolchain>
    <type>jdk</type>
    <provides>
      <version>1.8</version>
    </provides>
    <configuration>
      <jdkHome>/path/to/jdk</jdkHome>
    </configuration>
  </toolchain>
</toolchains>

вашего проекта Maven.

Замените 1.8на нужную версию Java и /path/to/jdkна фактический путь к вашей установке JDK.

  1. Используйте плагин Maven Enforcer. Плагин Maven Enforcer можно использовать для принудительного применения определенных версий Java. Добавьте следующую конфигурацию в раздел вашего pom.xml:
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-enforcer-plugin</artifactId>
      <version>3.0.0-M3</version>
      <executions>
        <execution>
          <id>enforce-java-version</id>
          <goals>
            <goal>enforce</goal>
          </goals>
          <configuration>
            <rules>
              <requireJavaVersion>
                <version>1.8</version>
              </requireJavaVersion>
            </rules>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

Замените 1.8на нужную версию Java.