繁体   English   中英

确保正确设置JAVA_HOME

[英]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在启动时设置(而不仅仅是当前会话),并立即添加它。

检查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)
  • 退出vim并在终端输入以下内容*
  • 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相同)

VIM编辑器命令 - 完整列表

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM