[英]which: no java for my user on linux
我尝试在我的Linux服务器centOS上安装java8。 在/ etc / profile中
export JAVA_HOME=/root/jdk1.8.0_71/
export PATH=$JAVA_HOME/bin/:$PATH
[root@localhost ~]# echo $JAVA_HOME
/root/jdk1.8.0_71/
[root@localhost ~]# which java
/root/jdk1.8.0_71/bin/java
[root@localhost ~]#
然后我安装了Cassandra,但它找不到java8。 然后我执行一些命令并获取
[root@localhost ~]# su cassandra -c "echo $JAVA_HOME"
/root/jdk1.8.0_71/
[root@localhost ~]# su cassandra -c "whereis java"
java: /usr/bin/java /etc/java /usr/lib/java /usr/local/bin/java /usr/share/java /usr/share/man/man1/java.1.gz
[root@localhost ~]# su cassandra -c "which java"
which: no java in (/root/jdk1.8.0_71//bin/:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
我想知道,因为PATH是对的,为什么我没能得到java使用哪个java? 然后我创建软链接并将/root/jdk1.8.0_71的模式更改为777
cd /usr/bin
java -> /root/jdk1.8.0_71/bin/java
但它仍然不起作用。 我错过了某些事情或做错了吗?
如果用户Cassandra没有/ root文件夹的权限,那么它将无法找到它。 我不知道你为什么要在/ root文件夹中复制JDK。 我的建议是将jdk1.8.0_71复制到/ opt文件夹中并设置正确的权限(所有者或组),例如:
cp -r /root/jdk1.8.0_71 /opt
chown -R cassandra.cassandra /opt
另外,PATH变量中的设置路径不应包括尾部以避免“/root/jdk1.8.0_71//bin/”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.