Fedora OpenJDK设置JAVA_HOME

我正在使用Fedora(实际上是Pidora,因为我正试图在Raspberrypi集群上设置hadoop)。 我使用ansible在所有节点上安装了oopenjdk。 但是,当我尝试设置JAVA_HOME环境variables时,我非常困惑地看着/usr/lib/jvm的文件夹:

 [root@datafireball1 jvm]# ls java-1.7.0-openjdk-1.7.0.60-2.4.7.0.fc20.arm jre jre-1.7.0 jre-1.7.0-openjdk jre-1.7.0-openjdk-1.7.0.60-2.4.7.0.fc20.arm jre-openjdk [root@datafireball1 jvm]# ls -alth total 80K drwxr-xr-x 3 root root 4.0K Jun 7 21:07 . lrwxrwxrwx 1 root root 35 Jun 7 21:07 jre-1.7.0-openjdk -> /etc/alternatives/jre_1.7.0_openjdk lrwxrwxrwx 1 root root 27 Jun 7 21:07 jre-1.7.0 -> /etc/alternatives/jre_1.7.0 lrwxrwxrwx 1 root root 29 Jun 7 21:07 jre-openjdk -> /etc/alternatives/jre_openjdk lrwxrwxrwx 1 root root 21 Jun 7 21:07 jre -> /etc/alternatives/jre lrwxrwxrwx 1 root root 48 Jun 7 21:07 jre-1.7.0-openjdk-1.7.0.60-2.4.7.0.fc20.arm -> java-1.7.0-openjdk-1.7.0.60-2.4.7.0.fc20.arm/jre drwxr-xr-x 4 root root 4.0K Jun 7 21:06 java-1.7.0-openjdk-1.7.0.60-2.4.7.0.fc20.arm 

为什么有这么多的文件夹的Java和我应该使用哪个文件夹作为Java家庭?

 [root@datafireball1 bin]# which java /usr/bin/java [root@datafireball1 bin]# ls -alSh /usr/bin/ | grep java lrwxrwxrwx 1 root root 22 Jun 7 21:07 java -> /etc/alternatives/java 

谢谢!

你可以添加你的.bashrc文件:

export JAVA_HOME = $(readlink -f / usr / bin / java | sed“s:bin / java ::”)

当你更新软件包时它会动态地改变。

使用以下命令查找UNIX / Linux下的java可执行文件的确切路径:

$哪个java(假设返回/usr/java/jdk1.5.0_07/bin/java)

然后设置路径为export JAVA_HOME = / usr / java / jdk1.5.0_07 / bin / java

使用Fedora 26测试的最佳解决方案:

 echo "JAVA_HOME=/etc/alternatives/jre" >> ~/.profile source ~/.profile echo $JAVA_HOME