我想在终端输入JAVA_HOME
来设置export JAVA_HOME=/Library/Java/Home
。
它为当前会话设置JAVA_HOME
。
如何永久设置?
答案 0 :(得分:40)
我知道这个问题已经有一段时间了,但我只想分享我今天遇到的以下信息。
您可以使用/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>`
你应该好。或者,尝试并说服维护者使用您使用的java工具来获取他们需要的版本。
要打开'.bash_profile',请在终端输入以下内容:
nano ~/.bash_profile
并将以下行添加到文件中:
export JAVA_HOME=`/usr/libexec/java_home -v <version>`
按CTRL + X退出bash。按'Y'保存更改。
要检查路径是否已添加,请在终端中键入以下内容:
source ~/.bash_profile
echo $JAVA_HOME
答案 1 :(得分:5)
此链接可以帮助您:http://developer.apple.com/library/mac/#/legacy/mac/library/qa/qa1067/_index.html
此外,您可以将环境变量放在以下文件之一中:
~/.bashrc
~/.bash_profile
~/.profile
答案 2 :(得分:4)
要在 Mac 中永久设置 JAVA_HOME,我尝试了以下步骤。
/Library/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
source ~/.bash_profile
打开一个新终端并检查'echo $JAVA_HOME'
谢谢。
答案 3 :(得分:4)
试试此链接 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
如果您看到所有路径都已设置。希望它有所帮助。
答案 4 :(得分:4)
除了其他答案所涵盖的bash / zsh终端设置外,如果你想为终端+ GUI应用程序提供永久系统环境变量(适用于macOS Sierra;也适用于El Capitan):
launchctl setenv JAVA_HOME $(/usr/libexec/java_home -v 1.8)
(这会将JAVA_HOME设置为最新的1.8 JDK,您可能已经完成了几项更新,例如javac 1.8.0_101,javac 1.8.0_131)
当然,根据您的需要和系统改变1.8到1.7或1.6(真的吗?)
答案 5 :(得分:3)
在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)
JAVA_HOME
是一个重要的环境变量,正确设置很重要。这是一个技巧,即使安装了Java Update,也可以使环境变量保持最新状态。在~/.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
HelloStackoverflow.java
的目录,然后键入命令:javac HelloStackoverflow.java
如果幸运的话,什么都不会发生
实际上,发生了很多事情。 javac
是Java编译器的名称。它将Java转换为Java Bytecode
,这是Java虚拟机(JVM)的一种汇编语言。 Java字节码存储在名为HelloStackoverflow.class
的文件中。
运行:键入命令:
java HelloStackoverflow
# output:
# Hello Stackoverflow !
答案 6 :(得分:3)
1)第一步是如果您已安装Java并正在运行系统。
which java
通常,它应该是/ usr / bin / java。
2) JAVA_HOME 本质上是目录的完整路径,该目录包含名为 bin 的子目录,而该子目录又包含 java 。
cd /Library/Java/
3.1)如果只想为当前会话设置路径,则在终端export JAVA_HOME=/Library/Java
3.2)如果要保留该命令,则必须将命令添加到~/.bash_profile
文件中
vi ~/.bash_profile
export JAVA_HOME=/Library/Java/Home
并保存source ~/.bash_profile
下执行4)确认您已正确添加JAVA_HOME路径。下面的命令应该为您提供正确的Java版本。
就这样,您就可以使用了!
答案 7 :(得分:2)
要在Mac上设置Java路径,
单击 I 插入文本,然后使用以下文本设置JAVA_HOME和PATH
导出PATH = $ JAVA_HOME / bin:$ PATH
答案 8 :(得分:2)
首先,通过运行命令/usr/libexec/java_home -v <version>
来确定您的Java主目录在哪里,用您正在运行的任何版本的OpenJDK替换。
接下来使用vim ~/.bash_profile
编辑您的bash个人资料。添加export JAVA_HOME="<java path>"
替换为在上一步中找到的Java主目录的路径。
最后,运行命令source ~/.bash_profile
这应该永久设置您的JAVA_HOME环境变量。
为确保其正常运行,请运行echo $JAVA_HOME
,并确保它返回您设置的路径
答案 9 :(得分:1)
在您的终端上运行此命令(此处-v11适用于版本11(java11))-:
/usr/libexec/java_home -v11
您将在终端上获得如下路径::
/Library/Java/JavaVirtualMachines/jdk-11.0.9.jdk/Contents/Home
现在您需要在任何编辑器中为VS Code打开bash配置文件
如果要在vs代码中编辑bash_profile,请运行以下命令-:
code ~/.bash_profile
否则运行此命令,然后按i插入路径。 -:
open ~/.bash_profile
您现在将获得.bash_profile,您需要添加路径 因此,请将其添加到.bash_profile(您从第一条命令获得的路径)-:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.9.jdk/Contents/Home
如果您使用的是代码编辑器,则现在转到终端并运行此命令以保存更改-:
source ~/.bash_profile
否则按esc键,然后按:wq键退出bash_profile,然后转到终端并运行上面给出的命令。 处理完成。 现在您可以使用以下命令进行检查-:
echo $JAVA_HOME
您将获得/Library/Java/JavaVirtualMachines/jdk-11.0.9.jdk/Contents/Home
答案 10 :(得分:1)
实际上,答案并不那么复杂!您只需要添加:
export JAVA_HOME=(/usr/libexec/java_home)
到您的外壳配置文件/配置文件。唯一的问题是-您使用哪个外壳?例如,如果您使用的是FISH,则将该行添加到.profile
或.bash_profile
中将完全无效。尽管可以将其添加到config.fish
文件中。永久地。
答案 11 :(得分:1)
在.bashrc或.zshrc中声明两个导出:
export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_11_HOME=$(/usr/libexec/java_home -v11)
添加别名以快速更改:
alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java11='export JAVA_HOME=$JAVA_11_HOME'
默认设置为Java 11
java11
导出路径
export PATH=$JAVA_HOME/bin:$PATH
您可以在.bashrc / zshrc文件中通过java8更改java11来永久更改您的Java版本
答案 12 :(得分:1)
如果您使用的是最新版本的macOS,则由于最新版本的macOS不推荐使用bash shell,因此无法使用〜/ .bash_profile导出环境变量。
/usr/libexec/java_home
,您会得到类似/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home
添加到.zshrc 答案 13 :(得分:0)
发现 jenv 会将 $JAVA_HOME 设置为一个简短的版本,例如“/Users/*****/.jenv/versions/1.8”。
必须卸载 jenv 才能使 $JAVA_HOME 设置像“JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home”一样工作
答案 14 :(得分:0)
如果您使用的是鱼壳。然后可以在.config / fish / config.fish
中设置所有变量vim .config/fish/config.fish
添加以下几行
set -g JAVA_HOME "your_path_to_jdk"
保存并退出vim。
这应该设置您的JAVA_HOME。谢谢
答案 15 :(得分:0)
我在MAC Catalina中也遇到了同样的问题,如果我编辑.bash_profile,我发现导出JAVA_HOME =“ / Library / Java / JavaVirtualMachines / jdk1.8.0_201.jdk / Contents / Home 但是当我运行终端回显$ JAVA_HOME时,它返回空,后来我发现文件.zshrc丢失了,我用
创建了该文件。touch .zshrc
然后通过nano .zshrc
进行编辑并编写
source ~/.bash_profile
哪个可以永久解决我的问题
答案 16 :(得分:0)
添加到Dilips的答案,如果您使用的是JDK 9,请在步骤3中使用以下内容(我的JDK版本为9.0.4):
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
答案 17 :(得分:0)
Terminal.app
是终端模拟器。它默认执行你的shell,bash。将命令放在.bashrc中的主文件夹中,任何新的会话都应该选择它。有关bash的更多信息,请查看manual。
答案 18 :(得分:-1)
要在Mac中永久设置JAVA_HOME,请确保已在系统中安装JDK, 如果未安装jdk,则可以从此处下载 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
安装jdk之后,请按照以下步骤操作:-
1)打开终端
2)输入“ vim .bash_profile”
3)按“ i”编辑或输入路径
4)键入您的Java安装目录:-export JAVA_HOME = $(/ usr / libexec / java_home)
5)单击ESC,然后键入“:wq”(在vim中保存并退出)
6)然后键入“ source .bash_profile”
7)如果看到所有已设置的路径,请键入“ echo $ JAVA_HOME”。
谢谢
答案 19 :(得分:-1)
添加以下
setenv JAVA_HOME /System/Library/Frameworks/JavaVM.framework/Home
你的〜/ .login文件中的: