问题

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

java -version给了我:

  • java版"1.7.0_55"
  • OpenJDK运行时环境(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 热门回答(194 赞)

  • 找到/usr/lib/jvm/java-1.x.x-openjdk
  • vim / etc / profile如果以非特权用户身份登录,则前置sudo,即。 sudo vim
  • 按'i'进入插入模式
  • 添加:导出JAVA_HOME ="找到的路径"

export PATH = $ JAVA_HOME / bin:$ PATH

  • 注销并重新登录,重新启动或使用源/ etc / profile在你当前的shell中立即应用更改

#2 热门回答(61 赞)

对于所有用户,我建议将以下行放在/etc/profile

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

这将动态更新并与替代系统一起使用。请注意,更新只会在新的登录shell中进行。


#3 热门回答(26 赞)

你可以使用/ etc / profile或更好的文件,如/etc/profile.d/jdk_home.sh

export JAVA_HOME=/usr/java/jdk1.7.0_05/

你必须记住,这个文件只加载了新的登录shell。所以在bash -l或新的gnome-session之后,它不会随着新的Java版本而改变。


原文链接