如何在 Linux 中为所有用户设置JAVA_HOME

2022-08-31 05:33:51

我是Linux系统的新手,似乎有太多的Java文件夹。

java-version给了我:

  • java 版本 “1.7.0_55”
  • OpenJDK Runtime Environment (rhel-2.4.7.1.el6_5-x86_64 u55-b13)
  • OpenJDK 64 位服务器 VM(内部版本 24.51-b03,混合模式)

当我尝试构建一个Maven项目时,我收到错误:

Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/java/jdk1.7.0_05/bin/java

你能告诉我我需要为root和非root用户修改哪些文件,以及java究竟位于何处吗?


答案 1
  1. find /usr/lib/jvm/java-1.x.x-openjdk
  2. vim /etc/profile

    如果以非特权用户身份登录,则预置 sudo,即。sudo vim

  3. 按“i”进入插入模式
  4. 加:

    export JAVA_HOME="path that you found"
    
    export PATH=$JAVA_HOME/bin:$PATH
    
  5. 注销并再次登录、重新启动或使用 以立即在当前 shell 中应用更改source /etc/profile

答案 2

对于所有用户,我建议在以下行中创建一个文件/etc/profile.d/java_home.sh

# Set JDK installation directory according to selected Java compiler

export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")

这将动态更新,并与替代系统很好地配合使用。但请注意,更新只会在新的登录 shell 中进行。


推荐