java - 如何使用 Fedora 替代品设置 Maven 的 Jdk 版本

标签 java linux maven fedora

我想在 fedora 上使用 alternatives 将 Maven 使用的 jdk 版本从 1.8 更改为 11。

$ 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. 通过设置 java_sdk_openjdk 来使用替代方案设置 jdk:

    $ 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 每次我们使用alternatives更改java_sdk_openjdk时都会指向新的jdk 。

关于java - 如何使用 Fedora 替代品设置 Maven 的 Jdk 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61270169/

相关文章:

java - Android如何获取用于分享的应用名称

c - 嵌入式 Linux C 代码,用于从 USB 驱动器执行 cp 到主机上的目录,保持目录结构完整

java - Sonatype emma-maven-plugin 和 emma4it-maven-plugin 的文档?

java - Maven:编辑父级的 POM 依赖项(排除或更新其版本)

java - 将第三方库与 Maven 一起使用

java - Camel Bean Validator 找不到组件

java - 访问同一项目但不同包中的方法

android - Android 4.3 中的 vold.fstab 文件

java - 带有最小刻度的图表的好标签算法

linux - ibus-m17n输入法mim文件怎么写?