【发布时间】:2012-03-25 15:46:47
【问题描述】:
我刚刚在 Ubuntu 中使用sudo apt-get install openjdk-6-jdk 命令安装了 JDK,
安装后 Java bin 目录在哪里?以及如何设置该目录的环境路径?我对 Ubuntu 没有什么经验,谁能给点建议或推荐任何好的网站以供参考?
【问题讨论】:
标签: ubuntu environment-variables java
我刚刚在 Ubuntu 中使用sudo apt-get install openjdk-6-jdk 命令安装了 JDK,
安装后 Java bin 目录在哪里?以及如何设置该目录的环境路径?我对 Ubuntu 没有什么经验,谁能给点建议或推荐任何好的网站以供参考?
【问题讨论】:
标签: ubuntu environment-variables java
我在我的 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
【讨论】:
使用以下几行设置/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 :)-|-
【讨论】:
安装 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可以看到安装的版本【讨论】:
从已安装列表中设置 java 版本。要查看已安装版本的列表,请运行以下命令:
update-java-alternatives --list
然后根据以下命令设置你的java版本:
sudo update-java-alternatives --set /usr/lib/jvm/java-1.8.0-openjdk-amd64
【讨论】:
我有一个 Linux Lite 3.8(它基于 Ubuntu 16.04 LTS)并且在以下文件中的路径更改(具有 root 权限)与重启有帮助。
/etc/profile.d/jdk.sh
【讨论】:
使用官方 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
但它并不健康,因为稍后您可能会更改版本。
正确的方法(当你有多个时是强制性的)是检测 update-alternative 指向的内容,并始终使用 update-alternatives 来切换活动版本。
以下是两者的建议:仅特定的 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.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
【讨论】:
您需要设置 $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
我提到的来源:
【讨论】:
使用文本编辑器打开文件/etc/environment
添加行JAVA_HOME="[path to your java]"
保存并关闭然后运行source /etc/environment
【讨论】:
您现在要做的就是设置“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
【讨论】:
更新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
【讨论】:
第一步:
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
【讨论】:
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 可访问。
【讨论】:
如下设置环境变量
编辑系统路径文件/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 以设置路径...
【讨论】:
export PATH=${JAVA_HOME}/bin:${PATH} 并且版本已更新。我认为从左到右的优先级在这里有效。
您可以从 apt 安装默认的 Ubuntu(17.10) java:
sudo apt install openjdk-8-jdk-headless
它会为你设置 PATH,如果你需要安装特定版本的 Java,你可以按照这个YouTube
【讨论】:
键入
sudo gedit .bashrc
在新行中输入以下代码
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
在终端中
【讨论】:
让我简化一下, 首先从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] 检查输出并开心:)
【讨论】:
如果你只安装了 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
【讨论】:
要设置系统范围的范围,您需要使用
/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 命令重新加载
Oracle Java 的安装:
导出 JAVA_HOME=/home/abu/Java/jdk1.8.0_45/ 导出 PATH=$JAVA_HOME/bin:$PATH
【讨论】:
要为单个用户设置 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
【讨论】:
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
【讨论】:
Ubuntu 将 openjdk6 安装到 /usr/lib/jvm/java-6-openjdk 路径。因此,您将在/usr/lib/jvm/java-6-openjdk/bin 中拥有垃圾箱。通常为 java 和相关的可执行文件自动设置类路径。
【讨论】:
它应该将 java 放在你的路径中,可能在 /usr/bin/java 中。找到它的最简单方法是打开一个术语并输入“which java”。
【讨论】: