Vis*_*nde 39 java macos java-home
我想JAVA_HOME
通过进入export JAVA_HOME=/Library/Java/Home
终端进行设置.它设置JAVA_HOME
当前会话.
如何永久设置?
Jon*_*bbe 46
我知道这个问题已经有一段时间了,但我只想分享我今天遇到的以下信息.
您可以使用它/usr/libexec/java_home -v <version you want>
来获取所需的路径JAVA_HOME
.例如,要获取1.7 JDK的路径,您可以运行/usr/libexec/java_home -v 1.7
它,它将返回JDK的路径.在您.profile
或.bash_profile
只是添加
export JAVA_HOME=`/usr/libexec/java_home -v <version>`
Run Code Online (Sandbox Code Playgroud)
你应该好.或者,尝试并说服维护者使用您使用的java工具来获取他们需要的版本.
要打开'.bash_profile',请在终端中键入以下内容:
nano ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)
并将以下行添加到该文件:
export JAVA_HOME=`/usr/libexec/java_home -v <version>`
Run Code Online (Sandbox Code Playgroud)
按CTRL + X退出bash.按"Y"保存更改.
要检查路径是否已添加,请在终端中键入以下内容:
source ~/.bash_profile
echo $JAVA_HOME
Run Code Online (Sandbox Code Playgroud)
Abd*_*sit 45
我在 MAC Catalina 中遇到了同样的问题,如果我编辑 .bash_profile 我发现 export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home 但是当我运行终端 echo $JAVA_HOME 它返回空, 后来我发现文件 .zshrc 丢失了我用
touch .zshrc
Run Code Online (Sandbox Code Playgroud)
然后编辑它nano .zshrc
并写
source ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)
这永久解决了我的问题
小智 15
在 Mac 上设置 Java 路径:
点击I插入文本并使用下面的文本设置JAVA_HOME和PATH
导出路径=$JAVA_HOME/bin:$PATH
Mil*_*vić 14
在macOS 11 Big Sur
以下位置安装 Java :
JDK
(约 190 MB),这会将OpenJDK11U-jdk_x64_mac_hotspot_11.0.9_11.pkg
文件放入您的~/Downloads folder
/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk
java --version
openjdk 11.0.9.1 2020-11-04
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.9.1+1)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.9.1+1, mixed mode)
Run Code Online (Sandbox Code Playgroud)
JAVA_HOME
是一个重要的环境变量,正确使用它很重要。这是一个技巧,即使在安装了 Java 更新之后,我也可以使环境变量保持最新。在~/.zshrc
,我像这样设置变量:export JAVA_HOME=$(/usr/libexec/java_home)
~/.bash_profile
. 无论如何,打开一个新终端并验证:echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
测试:编译并运行您的 Java 程序
HelloStackoverflow.java
.public class HelloStackoverflow {
public static void main(String[] args){
System.out.println("Hello Stackoverflow !");
}//End of main
}//End of HelloStackoverflow Class
Run Code Online (Sandbox Code Playgroud)
HelloStackoverflow.java
,然后键入命令:javac HelloStackoverflow.java
Run Code Online (Sandbox Code Playgroud)
如果幸运的话,什么都不会发生
事实上,发生了很多事情。javac
是 Java 编译器的名称。它将 Java 翻译成Java Bytecode
Java 虚拟机 (JVM) 的一种汇编语言。Java 字节码存储在一个名为HelloStackoverflow.class
.
运行:输入命令:
java HelloStackoverflow
# output:
# Hello Stackoverflow !
Run Code Online (Sandbox Code Playgroud)
eri*_*icn 10
除了 bash/zsh 终端的设置(其他答案都很好地涵盖了这些设置),如果您想要一个用于终端 + GUI 应用程序的永久系统环境变量(适用于 macOS Sierra;也应该适用于 El Capitan):
launchctl setenv JAVA_HOME $(/usr/libexec/java_home -v 1.8)
Run Code Online (Sandbox Code Playgroud)
(这会将 JAVA_HOME 设置为最新的 1.8 JDK,您可能已经经历了多个更新,例如 javac 1.8.0_101、javac 1.8.0_131)
当然,将 1.8 更改为 1.7 或 1.6(真的?)以满足您的需要和您的系统
试试这个链接 http://www.mkyong.com/java/how-to-set-java_home-environment-variable-on-mac-os-x/
这解释正确,我做了以下工作以使其工作
vim .bash_profile
export JAVA_HOME="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
ESC
然后键入:wq
(在 vim 中保存并退出)source .bash_profile
echo $JAVA_HOME
如果你看到路径,你就已经设置好了。希望能帮助到你。
小智 9
要在 Mac 中永久设置 JAVA_HOME,我尝试了以下步骤。
/库/Java/JavaVirtualMachines
atom ~/.bash_profile
相应地更改JDK版本
export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)"
export JAVA_HOME='/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home'
export PATH=$JAVA_HOME/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
source ~/.bash_profile
打开一个新终端并检查“echo $JAVA_HOME”
谢谢。
这里的答案总体上是正确的,但对我来说,我不知道我需要做一些事情source ~/.bash_profile
才能真正使其发挥作用。
所以完整的答案是:
nano ~/.zshenv // or
nano ~/.zshrc // or
nano ~/.bash_profile
//add this line to zshrc and bash_profile if you want to be 100% sure
export JAVA_HOME=$(/usr/libexec/java_home)
//save
source ~/.bash_profile //the KEY that generally isn't in the answers
source ~/.zshrc //I didn't do this one, but maybe you need it
Run Code Online (Sandbox Code Playgroud)
此链接可以帮助您:http://developer.apple.com/library/mac/#/legacy/mac/library/qa/qa1067/_index.html
此外,您可以将环境变量放在以下文件之一中:
~/.bashrc
~/.bash_profile
~/.profile
Run Code Online (Sandbox Code Playgroud)
小智 5
在您的终端上运行此命令(此处 -v11 适用于版本 11(java11))-:
/usr/libexec/java_home -v11
Run Code Online (Sandbox Code Playgroud)
你会在你的终端上得到这样的路径 -:
/Library/Java/JavaVirtualMachines/jdk-11.0.9.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
现在您需要在任何编辑器中打开您的 bash 配置文件,例如 VS Code
如果你想在 vs 代码中编辑你的 bash_profile 然后运行这个命令 -:
code ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)
否则运行此命令,然后按 i 插入路径。-:
open ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)
您将获得 .bash_profile 现在您需要添加路径,因此将其添加到 .bash_profile (您从第一个命令获得的路径)中-:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.9.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
如果您使用的是代码编辑器,那么现在转到终端并运行此命令以保存更改 -:
source ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)
否则按 esc 然后 :wq 退出 bash_profile 然后转到终端并运行上面给出的命令。过程完成。现在您可以使用此命令进行检查 -:
echo $JAVA_HOME
Run Code Online (Sandbox Code Playgroud)
你会得到/Library/Java/JavaVirtualMachines/jdk-11.0.9.jdk/Contents/Home
添加以下内容
setenv JAVA_HOME /System/Library/Frameworks/JavaVM.framework/Home
Run Code Online (Sandbox Code Playgroud)
在你的 ~/.login 文件中: