Как установить версию Jdk для Maven, используя альтернативы Fedora - PullRequest
0 голосов
/ 17 апреля 2020

Я хотел изменить версию jdk, используемую Maven, с 1.8 на 11, используя alternatives на fedora.

$ mvn -version
Apache Maven 3.5.4 (Red Hat 3.5.4-4)
Maven home: /usr/share/maven
Java version: 1.8.0_232, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.fc29.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.18.16-300.fc29.x86_64", arch: "amd64", family: "unix"

У меня есть 3 установленных версии java:

$ sudo alternatives --config java
[sudo] password for axione: 

There are 3 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
   1           java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.5.10-0.fc29.x86_64/bin/java)
   2           java-latest-openjdk.x86_64 (/usr/lib/jvm/java-13-openjdk-13.0.1.9-2.rolling.fc29.x86_64/bin/java)
*+ 3           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.fc29.x86_64/jre/bin/java)

1 Ответ

0 голосов
/ 17 апреля 2020

Решение состоит из двух частей:

  1. Настройка jdk с использованием альтернатив путем установки java_sdk_openjdk:

    $ sudo alternatives --config java_sdk_openjdk
    
  2. В ~/.mavenrc файл, задающий значение JAVA_HOME путем добавления этой строки:

    export JAVA_HOME=/usr/lib/jvm/java-openjdk
    

Объяснение:

  1. Следующая команда не подходит, поскольку она изменит версию java (JRE), а не версию java (JDK).

     $ sudo alternatives --config java 
    
  2. /usr/lib/jvm/java-openjdk будет указывать на новый jdk каждый раз, когда мы меняем java_sdk_openjdk, используя alternatives.

...