[英]Making sure JAVA_HOME is correctly set
对Java和Mac来说都是新手...我想确保JAVA_HOME设置在其他程序中我可以使用它的路径。 所以我做了一些谷歌搜索,这是我得到的:
如果我在终端输入/ usr / libexec / java_home我得到: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home但是如果我在终端输入echo $ JAVA_HOME ,我什么也得不到。
你能告诉我这里发生了什么吗?
谢谢。
OSX上默认情况下未设置JAVA_HOME。 您可以通过打开终端并执行以下操作来解决此问题:
echo "export JAVA_HOME=`/usr/libexec/java_home`" >> ~/.profile
. ~/.profile
这将导致JAVA_HOME在启动时设置(而不仅仅是当前会话),并立即添加它。
尝试在根目录中的echo $JAVA_HOME
之前运行source .bash_profile
。 如果您正确设置了JAVA_HOME
这应该可以解决问题。 如果你不确定你是否在你的根目录中,只需输入cd ~
,按回车键就可以了。
source
加载并运行bash_profile。 如果您没有正确设置JAVA_HOME
,请按照以下说明进行清理。
vim .bash_profile
- 在Vim中打开你的bash_profile。
我已经在下面列出了您可能需要编辑.bash_profile的VIM命令列表。
export JAVA_HOME=$(/usr/libexec/java_home)
- 创建一个ENV_VAR(环境变量)并将JDK的主路径设置/存储到(/usr/libexec/java_home)
。 source .bash_profile
- 加载并运行更新的bash_profile echo $JAVA_HOME
- 返回存储在ENV_VAR JAVA_HOME
的值,这是JDK安装的主路径。 VIM命令:
Vim是一个用于创建或编辑文本文件的编辑器。 vim中有两种模式。
命令模式:用户可以移动文件,删除文本等。
插入模式:用户可以插入文本。
在模式之间切换:
命令模式为插入模式
- 为您想要的操作键入相应的字母(a,A,i,I,o,O) - 以下字母的详细信息。
将模式插入命令模式
- 按Esc(退出键)
文本输入命令(用于启动文本输入)
a - 在当前光标位置后附加文本
A - 将文本附加到当前行的末尾
i - 在当前光标位置之前插入文本
I - 在光标行的开头插入文本
o - 在当前行之后打开一个新行并在那里添加文本
O - 在当前行前面打开一个新行并在那里添加文本
光标移动命令(仅在命令模式下使用。)
h - 将光标向左移动一个字符
l - 将光标向右移动一个字符
k - 将光标向上移动一行
j - 将光标向下移动一行
nG或:n - 光标转到指定的(n)行
(例如10G转到第10行)
$ - 将光标移动到当前行的末尾
0 - (零)将光标移动到当前行的开头
w - 前进一个单词
b - 后退一个字
退出命令
:wq - 将文件写入磁盘并退出编辑器
:Q! - 退出(没有警告)
:q - 退出(如果尚未保存修改的文件,则会打印警告)
ZZ - 保存工作区并退出编辑器(与:wq相同)
echo命令的空值意味着该值未按预期正确设置。 您可以尝试通过添加以下行来创建/编辑〜/ .profile:
vi ~/.profile
export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
如果您对vi编辑器不熟悉,也可以使用Mac中的TextEdit程序在主目录中创建该文件。 并执行
source ~/.profile
那将加载设置JAVA_HOME属性。 接下来,您可以尝试执行echo $ JAVA_HOME以检查它是否已按预期正确设置。
您可能还需要将PATH环境变量设置为:
export PATH=PATH:$JAVA_HOME/bin
在文本编辑器中编辑/etc/launchd.conf
。 如果它不存在则创建它。
然后将以下行附加到文件: setenv JAVA_HOME /path/to/java/installation
只需在终端中输入以下命令即可
sudo echo setenv JAVA_HOME /path/to/java/installation >> /etc/launchd.conf
然后只需在提示时输入密码。
现在重新启动计算机,应该进行更改。
注意 :
我根据自己在Linux上的经验给你建议。 但是,这些也应该适用于MAC。
这对JDK的新安装没有弹性。 根据Apple的说法: - 你不应该全局设置它 - 你应该使用libexec
http://lists.apple.com/archives/java-dev/2011/May/msg00040.html
你可能会认为:
$ cat /etc/launchd.conf setenv JAVA_HOME /usr/libexec/java_home
会工作 - 但不,它按字面意思设定。
但是,正如我所说,根据Apple工程师的说法,你不应该在全球范围内设置它。 :(
用Jenv设置JAVA_HOME后我遇到了这个问题。 您可以通过编辑文件来解决问题
/Applications/Eclipse.app/Contents/Info.plist
只需通过取消注释/编辑文件的相应部分来设置java版本的路径。 对于与自制软件一起安装的AdoptOpenJDK,它看起来像这样:
<key>Eclipse</key>
<array>
<string>-vm</string><string>/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home/bin/java</string>
<!-- to use a specific Java version (instead of the platform's default) uncomment one of the following options,
or add a VM found via $/usr/libexec/java_home -V
<string>-vm</string><string>/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Commands/java</string>
<string>-vm</string><string>/Library/Java/JavaVirtualMachines/1.8.0.jdk/Contents/Home/bin/java</string>
-->
<string>-keyring</string>
<string>~/.eclipse_keyring</string>
</array>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.