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


当前回答

打开终端,输入sudo gedit .bashrc 它会询问你的密码。在输入密码之后,它将打开bash文件。然后在结尾输入: 出口JAVA_HOME = " / usr / lib / jvm / java-8-openjdk-amd64 /” 导出路径= $路径:$ JAVA_HOME / bin 然后保存文件并退出

以上是单个用户的情况。对于所有用户,您必须执行以下步骤

gedit / etc /资料 出口JAVA_HOME = " / usr / lib / jvm java-8-openjdk-amd64 /” 出口PATH = $ PATH: JAVA_HOME / bin美元

其他回答

您可以使用/etc/profile或类似/etc/profile.d/jdk_home.sh的文件

export JAVA_HOME=/usr/java/jdk1.7.0_05/

你必须记住,这个文件只加载了新的登录shell ..所以在bash -l或一个新的gnome-session之后,它不会随着新的Java版本而改变。

找到/usr/lib/jvm/java - 1. - x.x openjdk vim / etc / profile 如果以非特权用户登录,则前置sudo。sudo vim 按“i”进入插入模式 添加: export JAVA_HOME="你找到的路径" 导出路径= $ JAVA_HOME / bin: $路径 注销并再次登录,重新启动或使用源/etc/profile立即在当前shell中应用更改

在/etc/profile中,如果你打开这个文件,你会知道不建议在这个文件上写东西。与其这样做,不如把你的命令脚本(假设test.sh)放到/etc/profile.然后把test.sh放在那里。每次实例重新启动时,/etc/profile都会自动调用它

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

: 源/ etc / 或 . / etc /

你编辑过的资料在哪里。

在Linux上,我在~/.profile中添加了这一行:

export JAVA_HOME=$(readlink -ze /usr/bin/javac | xargs -0 dirname -z | xargs -0 dirname)