我正在使用Fedora(实际上是Pidora,因为我试图在raspberrypi集群上设置hadoop)。我使用ansible在所有节点上安装了oopenjdk。但是,当我尝试设置JAVA_HOME环境变量时,我真的很困惑,看着/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
谢谢!
答案 0 :(得分:7)
您可以添加.bashrc
文件:
export JAVA_HOME = $(readlink -f / usr / bin / java | sed" s:bin / java ::")
,当您更新软件包时,它会动态更改。
答案 1 :(得分:0)
使用以下命令查找UNIX / Linux下java可执行文件的确切路径:
$ java(假设返回/usr/java/jdk1.5.0_07/bin/java)
然后将路径设置为export JAVA_HOME = / usr / java / jdk1.5.0_07 / bin / java
答案 2 :(得分:0)
使用Fedora 26测试的最佳解决方案:
echo "JAVA_HOME=/etc/alternatives/jre" >> ~/.profile
source ~/.profile
echo $JAVA_HOME