gpt4 book ai didi

java - 哪个 : no java for my user on linux

转载 作者:太空狗 更新时间:2023-10-29 11:12:55 25 4
gpt4 key购买 nike

我尝试在我的 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是对的,为什么我用which java获取不到java?然后我创建软链接(soft link)并将/root/jdk1.8.0_71 的模式更改为 777

cd /usr/bin
java -> /root/jdk1.8.0_71/bin/java

但是还是不行。我错过了什么或做错了什么吗?

最佳答案

如果用户 Cassandra 没有/root 文件夹的权限,那么它将无法找到它。 我不知道你为什么要把JDK复制到/root文件夹里。我的建议是复制/opt文件夹下的jdk1.8.0_71并设置正确的权限(所有者或组),像这样的东西:

cp -r /root/jdk1.8.0_71 /opt
chown -R cassandra.cassandra /opt

另外,在PATH变量中设置路径不应包括尾部以避免“/root/jdk1.8.0_71//bin/”

关于java - 哪个 : no java for my user on linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35028978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com