我刚接触Linux系统,似乎有太多的Java文件夹。
Java -version给我:
Java版本“1.7.0_55”
OpenJDK运行时环境(rhel-2.4.7.1。el6_5-x86_64 u55-b13)
OpenJDK 64位服务器虚拟机(build 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到底在哪里?
在RHEL 7中,没有一个其他答案对我来说是“坚持”的,甚至直接在/etc/profile或~/中设置JAVA_HOME和PATH。Bash_profile将不起作用。每次我试图检查是否设置了JAVA_HOME时,都会出现空白:
$ echo $JAVA_HOME
(<-- no output)
我要做的是在/etc/profile.d/jdk_home.sh中设置一个脚本:
#!/bin/sh
export JAVA_HOME=/opt/ibm/java-x86_64-60/
export PATH=$JAVA_HOME/bin:$PATH
我最初忽略了第一行(#!/bin/sh),没有它它就不能工作。
现在它开始工作了:
$ echo $JAVA_HOME
/opt/ibm/java-x86_64-60/
当我们开始设置JAVA_HOME时,让我分享一些设置JAVA_HOME或任何其他环境变量的好处:
1)在不影响应用程序启动和指向JAVA_HOME的配置文件的情况下,很容易升级JDK。你只需要下载新版本,并确保你的JAVA_HOME指向新版本的Java。这是使用环境变量或链接的最大好处。
2) JAVA_HOME变量短小精悍,而不是JDK安装目录的完整路径。
3) JAVA_HOME变量是平台独立的,即如果你的启动脚本使用JAVA_HOME,那么它可以在Windows和UNIX上运行而不需要任何修改,你只需要在各自的操作系统上设置JAVA_HOME。
阅读更多信息:http://javarevisited.blogspot.com/2012/02/how-to-set-javahome-environment-in.html#ixzz4BWmaYIjH