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


当前回答

复制您安装的bin文件路径

YOUR PATH

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

sudo nano /etc/environment

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

JAVA_HOME="YOUR_PATH"

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

source /etc/environment

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

echo $JAVA_HOME

其他回答

当我们开始设置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

我用这句话:

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

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

答案是之前的帖子是有效的。但没有一个答案是完整的:

不建议修改/etc/profile,原因如下(如/etc/profile中所述):

修改这个文件不是一个好主意,除非你知道你在做什么。在中创建custom.sh shell脚本要好得多 /etc/profile.D /对您的环境进行自定义更改,如下所示 将防止在未来的更新中合并的需要

因此,如上所述,创建/etc/profile.d/custom.sh文件进行自定义更改。 现在,为了随时更新正在安装的新版本的Java,永远不要放置绝对路径,而是使用:

#如果将JDK作为Java home export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") 或 #如果将jre作为Java的主页 export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:/bin/java::")

记住要有#!打开custom.sh文件中的/bin/bash

在RHEL 7中,没有一个其他答案对我来说是“坚持”的,甚至直接在/etc/profile或~/中设置JAVA_HOME和PATH。Bash_profile将不起作用。每次我试图检查是否设置了JAVA_HOME时,都会出现空白:

$ echo $JAVA_HOME
    (<-- no output)

我要做的是在/etc/profile.d/jdk_home.sh中设置一个脚本:

#!/bin/sh
export JAVA_HOME=/opt/ibm/java-x86_64-60/
export PATH=$JAVA_HOME/bin:$PATH

我最初忽略了第一行(#!/bin/sh),没有它它就不能工作。

现在它开始工作了:

$ echo $JAVA_HOME
/opt/ibm/java-x86_64-60/

对于新用户来说,使用vim可能有点困难。我们可以使用gedit文本编辑器代替。

找到/usr/lib/jvm/java - 1. - x.x openjdk 输入“gedit /etc/profile”,如果以非特权身份登录,则使用“sudo gedit /etc/profile” 在行末添加以下内容: export JAVA_HOME="你找到的路径" 导出路径= $ JAVA_HOME / bin: $路径 在当前shell中输入“source /etc/profile”以应用更改