繁体   English   中英

其中:我的用户在Linux上没有java

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM