$JAVA_HOME
环境变量? #1 楼
您可以按照Petronilla Escarabajo的建议在JAVA_HOME
中设置/etc/profile
。但是JAVA_HOME
或任何系统变量的首选位置是/etc/environment
。在任何文本编辑器(如
/etc/environment
或nano
)中打开gedit
并添加以下行:JAVA_HOME="/usr/lib/jvm/open-jdk"
(java路径可能不同)
通过运行以下命令,使用
source
加载变量:source /etc/environment
然后检查通常,大多数Linux系统默认使用/ etc / environment来运行以下命令来更改该变量:
echo $JAVA_HOME
Update
如果您的系统不这样做,请在
~/.bashrc
中添加以下行(感谢@pje)source /etc/environment
#2 楼
要设置JAVA_HOME
环境变量,请执行以下操作:通过按键盘上的Ctrl + Alt + T启动终端,输入以下命令:$
gksudo gedit /etc/environment
根据Java的安装位置,您需要提供完整的路径。对于此示例,我在
/usr/lib/jvm/java-7-oracle
目录中安装了Oracle JDK 7,滚动到文件末尾并输入以下内容:JAVA_HOME=/usr/lib/jvm/java-7-oracle
export JAVA_HOME
保存文件并退出gedit。
最后重新加载使用以下命令进入系统PATH:
$
. /etc/environment
以上方法将避免您每次登录计算机时都必须运行命令。 br />
评论
如何 。 / etc /环境工作?
– Sudip Bhandari
2016年9月13日下午13:36
在/ etc / environment中是否需要添加export命令?
– pkaramol
16年11月23日在10:01
@pkaramol我必须在16.04LTS上添加export JAVA_HOME以使其在启动时加载。
–adeen-s
17年1月20日在6:20
@ adeen-s您将导出添加到了/ etc / environment中的一行中,它有帮助吗?该文件包含变量定义,解析为=分隔的名称/值对;它的内容不作为命令执行。 (请参阅man pam_env。)因此,除非您分别将文件当作脚本一样对待(例如,将/ etc / environment传递到bash的./source内置文件中),否则我不希望它起作用。
– Eliah Kagan
17年8月17日在16:02
>如何。 / etc /环境工作? -。 (点)从文件askubuntu.com/a/232938/189965加载命令
–罗马别基夫
18-09-22在7:32
#3 楼
如果您不知道路径,而您仅安装了openJDK,则可以键入update-alternatives --config java
,然后应该找到路径。要设置变量,您可以先写JAVA_HOME=<PATH>
,然后写export JAVA_HOME
。注意,声明变量时没有空格。要检查变量是否已存储,只需键入echo $JAVA_HOME
进行验证。评论
这似乎是静态的。如果我删除openjdk-7并安装openjdk-9,JAVA_HOME会不会指向错误的位置?如何使其动态化?
– DavidJ
16年7月20日在18:49
通过手动更改它。再次,您将成为动态的方式...
– HDave
16-09-20在19:04
@HDave的意思是,在某些情况下,您可能希望JAVA_HOME指向特定的Java版本,因此使JAVA_HOME动态更新可能不是您想要的。
– Maciej
16-10-9在15:31
我喜欢这个答案。我用echo进行了测试,看到了自己的路。但是,我感到困惑,为什么在运行mvn -version时仍未设置JAVA_HOME环境变量
– Winnemucca
17年4月11日在22:19
当我更无知的时候,我写了这个答案。如所述设置变量只会影响您当前的终端会话,并且不会持久化。正确的方法是运行update-alternatives --install <链接> <名称>
–错误
17年5月14日在12:26
评论
当我尝试运行Android Studio(以IntelliJ IDEA为基础)时,出现了一条非常类似于@advocate的错误消息:“'tools.jar'似乎不在Android Studio类路径中。”在对JAVA_HOME进行了很多摆弄而没有成功之后,我决定看看studio.sh,这是启动Android Studio的shellscript。作为一个疯狂的猜测,我将JDK_HOME设置为JAVA_HOME期望的相同值,瞧!它安装没有大问题。
–希尔顿费尔南德斯
2015年3月7日在23:20
对于从事软件开发的人员,请勿将JAVA_HOME放在/ etc / environment中,除非您希望在每次切换JDK版本时都重新启动。
– HDave
16-09-20在19:03
正如其他人指出的那样,这是一个临时解决方案。没有人愿意在每次重新启动bash时都运行源代码。
– yuranos
17年2月19日在21:49
正如其他人指出的那样,这不会在终端会话之间发生。为了解决这个问题,我只是将行源/ etc / environment添加到了bash配置文件〜/ .bashrc的顶部,以便在启动时加载我的所有环境设置。到目前为止为我工作。
– pje
17年3月11日在22:31
@sedulam我更新了答案
– Manula Waidyanatha
17年4月20日在6:20