我刚接触Linux系统,似乎有太多的Java文件夹。

Java -version给我:

Java版本“1.7.0_55” OpenJDK运行时环境(rhel-2.4.7.1。el6_5-x86_64 u55-b13) OpenJDK 64位服务器虚拟机(build 24.51-b03,混合模式)

当我试图构建一个Maven项目时,我得到了错误:

Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/java/jdk1.7.0_05/bin/java

请问root用户和非root用户需要修改哪些文件,java到底在哪里?


当前回答

作为回答,因为我没有评论的权利。

注意事项:遵循“That Dave Guy”发布的接受答案。

在设置变量之后,请确保对安装它的java目录设置了适当的权限。

chmod -R 755 /usr/java

其他回答

用sudo打开kafka-run-class.sh进行写入

你可以在kafka文件夹中找到kafka-run-class.sh: kafka/bin/kafka-run-class.sh

检查这些行

修改else部分中的JAVA变量,使其指向JAVA /bin中的JAVA可执行文件。像JAVA = " $ JAVA_HOME / JAVA "

复制您安装的bin文件路径

YOUR PATH

打开终端,输入以下命令编辑环境文件,

sudo nano /etc/environment

在这个文件中,添加以下行(将YOUR_PATH替换为刚才复制的路径):

JAVA_HOME="YOUR_PATH"

这应该足以设置环境变量。现在重新加载这个文件:

source /etc/environment

现在通过执行以下命令来测试:

echo $JAVA_HOME

我用这句话:

export JAVA_HOME=$(readlink -f $(dirname $(readlink -f $(which java) ))/../)

致我的~/。配置文件,因此它在登录时使用默认Java目录的基础。这是bash的。

可能是一个好主意来源,无论你编辑保存必须使用新的登录。

: 源/ etc / 或 . / etc /

你编辑过的资料在哪里。

如果不奏效,试试这个:

apt install openjdk-8-jdk-headless