如何在 Ubuntu 中设置 Java 环境路径
Posted
技术标签:
【中文标题】如何在 Ubuntu 中设置 Java 环境路径【英文标题】:How to set Java environment path in Ubuntu 【发布时间】:2012-03-25 15:46:47 【问题描述】:我刚刚在 Ubuntu 中使用sudo apt-get install openjdk-6-jdk
命令安装了 JDK,
安装后 Java bin
目录在哪里?以及如何设置该目录的环境路径?我对 Ubuntu 没有什么经验,谁能给点建议或推荐任何好的网站以供参考?
【问题讨论】:
【参考方案1】:我在我的 Ubuntu 20.04 中安装了 java 11。 为此设置了 JAVA_HOME。
输入这个命令来查看你的ubuntu版本--
swapnil@swapnil-vm:~$ lsb_release -d
Description: Ubuntu 20.04.3 LTS
输入这个命令来找出你的 jvm 的位置 --
swapnil@swapnil-vm:~$ whereis jvm
jvm: /usr/lib/jvm
在您选择的任何编辑器中打开 .bashrc --
nano .bashrc
添加以下行--
## setting JAVA_HOME
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH
现在你可以走了! 打开一个新终端并输入命令--
ehco $JAVA_HOME
【讨论】:
【参考方案2】:使用以下几行设置/etc/environment
中的路径变量
echo export JAVA_HOME=/path/to/java | sudo tee -a /etc/environment
echo export JRE_HOME=/path/to/jre | sudo tee -a /etc/environment
它应该可以工作。
注意:
您应该重新启动系统以使更改生效。
别忘了重启后来这里投票+1 :)-|-
【讨论】:
【参考方案3】:安装 JDK 后,在环境中设置 JAVA_HOME
sudo nano /etc/environment
并添加行JAVA_HOME="/usr/lib/jvm/jdk-11.0.1/"
在.bashrc
中添加配置
sudo nano ~/.bashrc
并添加以下行
JAVA_HOME=/usr/lib/jvm/jdk-11.0.11/
PATH=$JAVA_HOME/bin:$PATH
-
用
source ~/.bashrc
刷新新配置
输入命令java-version
可以看到安装的版本
【讨论】:
【参考方案4】:创建/打开~/.bashrc
文件$vim ~/.bashrc
添加 JAVA_HOME 和 PATH 以引用您的 JDK 路径
export JAVA_HOME=/usr/java/<your version of java>
export PATH=$PATH:$JAVA_HOME/bin
保存文件
现在输入 java - version 它应该显示您在 .bashrc 文件中设置的内容。 这也将在会话中持续存在。
例子:
【讨论】:
这非常有效。我最初添加了“”,但这在 Ubuntu 上不起作用。【参考方案5】:从已安装列表中设置 java 版本。要查看已安装版本的列表,请运行以下命令:
update-java-alternatives --list
然后根据以下命令设置你的java版本:
sudo update-java-alternatives --set /usr/lib/jvm/java-1.8.0-openjdk-amd64
【讨论】:
【参考方案6】:我有一个 Linux Lite 3.8(它基于 Ubuntu 16.04 LTS)并且在以下文件中的路径更改(具有 root 权限)与重启有帮助。
/etc/profile.d/jdk.sh
【讨论】:
【参考方案7】:如何安装java包:
使用官方 ubuntu 软件包安装所需的 java 版本/版本,这些软件包使用替代方案进行管理:sudo apt install -y openjdk-8-jdk
或/和其他版本:
sudo apt install -y openjdk-11-jdk
仅当您的计算机上的所有软件只有一个版本时,上述答案才是正确的,并且您可以跳过使用更新替代方案。因此可以在 .bashrc 或其他地方快速对其进行硬编码:export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
但它并不健康,因为稍后您可能会更改版本。
设置 JAVA_HOME(以及可选的 JAVA_SDK、JAVA_JRE)的正确方法
正确的方法(当你有多个时是强制性的)是检测 update-alternative 指向的内容,并始终使用 update-alternatives 来切换活动版本。
以下是两者的建议:仅特定的 unix 帐户或所有帐户(机器级别)。
1。仅适用于特定的 Unix 帐户:
如果您没有在机器级别执行此操作的权限,请使用此选项。
cat <<'EOF' >>~/.bashrc
export JAVA_HOME=$(update-alternatives --query java | grep Value | cut -d" " -f2 | sed 's!\(\/.*\)jre\(.*\)!\1!g')
export JDK_HOME=$JAVA_HOME
export JRE_HOME=$JDK_HOME/jre/
EOF
2。要在机器级别执行此操作,并且对于所有 bourne shell,您需要 2 个步骤:
2.a
cat <<'EOF' | sudo tee /etc/profile.d/java_home_env.sh >/dev/null
export JAVA_HOME=$(update-alternatives --query java | grep Value | cut -d" " -f2 | sed 's!\(\/.*\)jre\(.*\)!\1!g')
export JDK_HOME=$JAVA_HOME
export JRE_HOME=$JDK_HOME/jre/
EOF
由于默认情况下您的 shell 可能未设置为交互式,您可能还想这样做: 2.b
cat <<'EOF' | sudo tee -a /etc/bash.bashrc >/dev/null
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi
EOF
PS:应该不需要更新 $PATH,因为 update-alternatives 会处理到 /usr/bin/ 的链接。 更多信息:https://manpages.ubuntu.com/manpages/trusty/man8/update-alternatives.8.html
【讨论】:
当我在安装“openjdk-11-jdk-headless”后使用上面的选项1时,我得到的JAVA_HOME和JDK_HOME都等于“/usr/lib/jvm/java-11-openjdk-amd64/ bin/java”,我认为它不正确。至少 Maven/mvn 说“没有正确定义 JAVA_HOME 环境变量。注意:JAVA_HOME 应该指向 JDK 而不是 JRE”j【参考方案8】:您需要设置 $JAVA_HOME 变量
就我而言,在设置 Maven 时,我必须将其设置到安装 JDK 的位置。
先找出JAVA的安装位置:
$ whereis java
java: /usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz
现在深入挖掘-
$ ls -l /usr/bin/java
lrwxrwxrwx 1 根 46 2018 年 8 月 25 日 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 深入挖掘:
$ ls -l /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
-rwxr-xr-x 1 root root 6464 Mar 14 18:28 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
由于它没有被引用到任何其他目录,我们将使用它。
使用 nano 打开 /etc/environment
$ sudo nano /etc/environment
添加以下行
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
导出 JAVA_HOME
使用
重新加载 PATH$. /etc/environment
现在,
$ echo $JAVA_HOME
这是你的输出:
/usr/lib/jvm/java-1.8.0-openjdk-amd64
我提到的来源:
https://askubuntu.com/a/175519
https://***.com/a/23427862/6297483
【讨论】:
【参考方案9】:使用文本编辑器打开文件/etc/environment
添加行JAVA_HOME="[path to your java]"
保存并关闭然后运行source /etc/environment
【讨论】:
【参考方案10】:您现在要做的就是设置“JAVA_HOME”
和“PATH”
环境变量,然后您就完成了。输入以下命令来设置您的环境变量。确保您的环境变量指向您机器上的有效 JDK 安装。对于 Ubuntu 18.04,路径为 /usr/lib/jvm/java-8-openjdk-amd64/
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
查看你的JAVA_HOME路径是否保存成功,输入以下命令查看。
echo $JAVA_HOME
【讨论】:
这仅适用于终端会话,不适用于其他地方【参考方案11】:更新bashrc
文件以添加JAVA_HOME
sudo nano ~/.bashrc
将JAVA_HOME
添加到bashrc
文件中。
export JAVA_HOME=/usr/java/<your version of java>
export PATH=$PATH:$JAVA_HOME/bin
确保 Java 可访问
java -version
如果手动安装JDK,会出现如下错误提示
VM初始化时出错 java/lang/NoClassDefFoundError: java/lang/Object
在您的 JAVA_HOME/lib 目录中执行以下命令:
unpack200 -r -v -l "" tools.pack tools.jar
在你的 JAVA_HOME/jre/lib 中执行以下命令
../../bin/unpack200 rt.pack rt.jar
../../bin/unpack200 jsse.pack jsse.rar
../../bin/unpack200 charsets.pack charsets.jar
确保 Java 可访问
java -version
【讨论】:
【参考方案12】:第一步:
sudo gedit ~/.bash_profile
第二步:
JAVA_HOME=/home/user/tool/jdk-8u201-linux-x64/jdk1.8.0_201
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH
第三步:
source ~/.bash_profile
【讨论】:
【参考方案13】:Java 通常安装在/usr/java
找到您拥有的版本,然后执行以下操作:
假设您正在使用 bash(如果您刚刚开始,我建议使用 bash 而不是其他 shell)您可以简单地输入 bash 来启动它。
编辑您的~/.bashrc
文件并添加如下路径:
例如。 vi ~/.bashrc
插入以下行:
export JAVA_HOME=/usr/java/<your version of java>
export PATH=$PATH:$JAVA_HOME/bin
保存更改后,退出并重新启动 bash 或输入 bash 以启动新的 shell
输入export
以确保路径正确。
输入 java -version
以确保 Java 可访问。
【讨论】:
完美!谢谢。注意:您可能希望从系统中删除默认的 openJDK,因为它首先出现在全局路径中。所以在上面的脚本加载之后,你只会看到“javac”而不是java,因为默认的openjk-jre。 ~sudo apt-get remove openjdk-*~ 我有问题,我尝试了所有更新java的方法,但我的版本仍然是jdk1.7,但我设置了jdk1.8的路径【参考方案14】:如下设置环境变量
编辑系统路径文件/etc/profile
sudo gedit /etc/profile
在末尾添加以下行
JAVA_HOME=/usr/lib/jvm/jdk1.7.0
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH
然后注销并登录 ubuntu 以设置路径...
【讨论】:
为什么要导出 JRE_HOME? 它对我不起作用,以前的版本保持默认。我将路径的顺序更改为export PATH=$JAVA_HOME/bin:$PATH
并且版本已更新。我认为从左到右的优先级在这里有效。
已经在这里解决了***.com/questions/24641536/…
.bash_profile 和 .bashrc 是特定于 bash 的,而 .profile 在没有自己的特定于 shell 的配置文件的情况下被许多 shell 读取。 /etc/bash_profile(备用 /etc/profile)在用户的 .profile 之前读取以进行系统范围的配置。
此外,您必须注销并登录才能使更改对 /etc/profile 生效,但只有在更改 ~/.bashrc 时才关闭并打开一个新终端【参考方案15】:
您可以从 apt 安装默认的 Ubuntu(17.10) java:
sudo apt install openjdk-8-jdk-headless
它会为你设置 PATH,如果你需要安装特定版本的 Java,你可以按照这个YouTube
【讨论】:
【参考方案16】: 打开终端(Ctrl+Alt+t)键入
sudo gedit .bashrc
输入ubuntu用户密码
转到文件的最后一行
在新行中输入以下代码
export JAVA_HOME=enter_java_path_here
export PATH=$JAVA_HOME/bin:$PATH
eg: export JAVA_HOME=/home/pranav/jdk1.8.0_131
export PATH=$JAVA_HOME/bin:$PATH
保存文件
键入
source ~/.bashrc
在终端中
完成【讨论】:
【参考方案17】:让我简化一下, 首先从Oracle网站下载JDK:Link
2] 然后解压
3] 在 /usr/lib/ 即 /usr/lib/jvm 中创建一个文件夹 (jvm)
4] 将解压出来的文件夹从jdk移动到/usr/lib/jvm/
*注意:使用终端、sudo、mv 命令,即 sudo mv
5] 在 /etc/profile.d/ 创建一个 .sh 文件,例如:/etc/profile.d/myenvvar.sh
6] 在 .sh 文件类型中
导出 JAVA_HOME=/usr/lib/jvm/jdk1.7.0
导出 PATH=$PATH:$JAVA_HOME/bin
*注意:使用终端、gedit 和 sudo 例如:sudo gedit myenvvar.sh
7] 在完成所有这些步骤后关闭计算机并重新启动它
8]打开终端,输入
java-版本
9] 检查输出,然后输入
回显 $JAVA_HOME
10] 检查输出并开心:)
【讨论】:
我的 JAVA_HOME 设置在 /etc/profile.d/maven.sh 中。谢谢。【参考方案18】:如果你只安装了 openJDK,你应该更新你的链接,因为你可以安装一些 OpenJDK。
sudo update-alternatives --config java
之后
$gedit ~/.bashrc
在文件中添加以下行
JAVA_HOME=/usr/lib/jvm/YOUR_JAVA_VERSION
export PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME
你可以得到你的java版本
java -version
【讨论】:
【参考方案19】:要设置系统范围的范围,您需要使用
/etc/environment文件sudo gedit /etc/environment
是您可以定义任何环境变量的位置。它可以在整个系统范围内可见。定义变量后需要重启系统。
示例:
sudo gedit /etc/environment
添加如下:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
JAVA_HOME="/opt/jdk1.6.0_45/"
这里是您可以找到更多信息的网站:http://peesquare.com/blogs/environment-variable-setup-on-ubuntu/
【讨论】:
如果您更新任何条目,请使用source /etc/environment
命令重新加载
或注销自动激活新变量(see this question)【参考方案20】:
Oracle Java 的安装:
-
从 Oracle 网站下载 tarball(.tar 文件)
通过 sudo tar -xvpzf fileName -C /installation_folder_name 解压
更改文件权限和所有权
在 /etc/profile 中添加以下两行
导出 JAVA_HOME=/home/abu/Java/jdk1.8.0_45/ 导出 PATH=$JAVA_HOME/bin:$PATH
-
重启机器,通过java -version和javac -version检查
【讨论】:
【参考方案21】:要为单个用户设置 JAVA_HOME / PATH,请登录到您的帐户并打开 .bash_profile 文件
$ vi ~/.bash_profile
使用语法导出JAVA_HOME=<path-to-java>
如下设置JAVA_HOME。如果你的路径设置为/usr/java/jdk1.5.0_07/bin/java,设置如下:
export JAVA_HOME=/usr/java/jdk1.5.0_07/bin/java
如下设置PATH:
export PATH=$PATH:/usr/java/jdk1.5.0_07/bin
根据您的设置随意替换 /usr/java/jdk1.5.0_07。保存并关闭文件。只需注销并重新登录即可查看新更改。或者,键入以下命令以立即激活新路径设置:
$ source ~/.bash_profile
或
$ . ~/.bash_profile
验证新设置:
$ echo $JAVA_HOME
$ echo $PATH
提示:使用以下命令找出 UNIX / Linux 下 java 可执行文件的确切路径:
$ which java
请注意文件 ~/.bashrc 是相似的,除了 ~/.bash_profile 只为 Bash 登录 shell 运行,而 .bashrc 为每个新的 Bash shell 运行。
要为所有用户设置 JAVA_HOME / PATH,您需要在 /etc/profile
或 /etc/bash.bashrc
文件中为所有用户设置全局配置:
# vi /etc/profile
接下来设置PATH/JAVA_PATH变量如下:
export PATH=$PATH:/usr/java/jdk1.5.0_07/bin
export PATH=$PATH:/usr/java/jdk1.5.0_07/bin
保存并关闭文件。再次,您需要键入以下命令以立即激活路径设置:
# source /etc/profile
或
# . /etc/profile
【讨论】:
您确定要将 JAVA_HOME 设置为 java 二进制文件吗?【参考方案22】:open jdk 安装后通常位于您的 /usr/lib/java-6-openjdk 像往常一样,您需要设置 JAVA_HOME、calsspath 和 Path 在 ubuntu 11.04 中,/etc 中有一个可用的环境文件,您需要在其中设置所有三个路径。然后您需要重新启动系统才能使更改生效..
这是一个可以帮助您的网站 http://aliolci.blogspot.com/2011/05/ubuntu-1104-set-new-environment.html
【讨论】:
【参考方案23】:Ubuntu 将 openjdk6 安装到 /usr/lib/jvm/java-6-openjdk
路径。因此,您将在/usr/lib/jvm/java-6-openjdk/bin
中拥有垃圾箱。通常为 java 和相关的可执行文件自动设置类路径。
【讨论】:
【参考方案24】:它应该将 java 放在你的路径中,可能在 /usr/bin/java 中。找到它的最简单方法是打开一个术语并输入“which java”。
【讨论】:
以上是关于如何在 Ubuntu 中设置 Java 环境路径的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Android Studio 中设置 Java SDK 路径?
Java中设置classpathpathJAVA_HOME的作用
如何在 Debian/Ubuntu Docker 容器中设置语言环境?