我刚接触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到底在哪里?


当前回答

当我们开始设置JAVA_HOME时,让我分享一些设置JAVA_HOME或任何其他环境变量的好处:

1)在不影响应用程序启动和指向JAVA_HOME的配置文件的情况下,很容易升级JDK。你只需要下载新版本,并确保你的JAVA_HOME指向新版本的Java。这是使用环境变量或链接的最大好处。

2) JAVA_HOME变量短小精悍,而不是JDK安装目录的完整路径。

3) JAVA_HOME变量是平台独立的,即如果你的启动脚本使用JAVA_HOME,那么它可以在Windows和UNIX上运行而不需要任何修改,你只需要在各自的操作系统上设置JAVA_HOME。

阅读更多信息:http://javarevisited.blogspot.com/2012/02/how-to-set-javahome-environment-in.html#ixzz4BWmaYIjH

其他回答

使用SDKMAN。顺便说一句,IO切换。你的sdk。

它为您设置JAVA_HOME。

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

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

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

chmod -R 755 /usr/java

做甲骨文所做的事情(作为前Sun员工,我不习惯这种做法)

ln -s latestJavaRelease /usr/java/default latestJavaRelease是您想要使用的版本

export JAVA_HOME=/usr/java/default

首先,你需要找出你的电脑上安装了哪个Java,要使用哪个。 对于具有root权限的打开终端。

 sudo su

 ls /usr/lib/jvm/

现在它将列出可用的java版本。 选择列出的版本。

复制路径直到这里。

现在打开bashrc

  nano ~/.bashrc

在末尾添加以下命令

 export JAVA_HOME="path that you copied"

  export PATH=$JAVA_HOME/bin:$PATH

保存文件,然后按Ctrl+S和Ctrl+X退出

现在运行下面的命令:

  source ~/.bashrc

用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 "