我刚刚用sudo apt-get install openjdk-6-jdk命令在Ubuntu中安装了JDK, 安装后Java bin目录在哪里?如何为该目录设置环境路径?我对Ubuntu没什么经验,有人能给我一些建议或者推荐一些好的网站供参考吗?
当前回答
一旦我在Ubuntu机器上安装了Java Development Kit的openjdk版本,我使用这个过程来创建一个JAVA_HOME环境变量,在每次升级openjdk安装版本后都不需要更改这个环境变量。
首先,我发出一个命令来查找java可执行文件所在的目录。
echo $(readlink -e `which java` | xargs -0 dirname)
如果我对它的输出满意,其他的都可以从它推导出来。
配置JAVA_HOME和PATH环境变量
而不是在~/中添加越来越多的配置。我发现创建一个单独的小文件~/. bashrc文件是一个更干净的实践。Bashrc在运行时可以“包含”。
让我们将该文件命名为~/.java_env_vars(但您可以将其命名为任何您希望的名称)。
在~/中添加一个包含条件。bashrc文件(
~ /开放。在任何文本编辑器中使用Bashrc,并将这些行保存到文件的末尾:
# include the java environment configuration file here (if it exists)
if [ -f "$HOME/.java_env_vars" ]; then
. $HOME/.java_env_vars
fi
创建Java环境变量配置文件
打开任何文本编辑器,创建Java环境配置文件~/.java_env_vars,并将以下内容添加到其中:
#1. set a java_bin variable to the directory containing the actual Java executables.
java_bin=$(readlink -e `which java` | xargs -0 dirname)
#2. append "$java_bin" to the PATH environment variable
export PATH=$PATH:"$java_bin"
#3. assign the directory of the current Java installation to the JAVA_HOME environment variable.
export JAVA_HOME=$(dirname "$java_bin")
注意:导出PATH和JAVA_HOME变量只是确保它们在需要时始终可用。
来源你的~/。Bashrc文件(这样你对它所做的更改就会反映出来)使用以下命令:
source ~/.bashrc
测试Java环境变量配置
打开一个新的终端控制台,并通过发出以下命令测试新的Java环境变量:
echo "$PATH" && echo "$JAVA_HOME"
输出应该是两行,就像这样:
/home/user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-11-openjdk-amd64/bin
/usr/lib/jvm/java-11-openjdk-amd64
其他回答
环境变量的设置方法如下
编辑系统路径文件/etc/profile
sudo gedit /etc/profile
在end中增加以下行
JAVA_HOME=/usr/lib/jvm/jdk1.7.0
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH
然后注销并登录ubuntu设置路径…
如何安装java包:
使用官方的ubuntu包安装所需的java版本/版本,使用替代方案进行管理: Sudo apt install -y openjdk-8-jdk 或/和其他版本: Sudo apt install -y openjdk-11-jdk
只有当您的机器上所有软件只有一个版本时,以上答案才正确,您可以跳过使用更新选项。所以你可以在。bashrc或其他地方快速硬编码: 出口JAVA_HOME = / usr / lib / jvm / java-1.8.0-openjdk-amd64 但这是不健康的,因为以后你可能会改变版本。
设置JAVA_HOME(和JAVA_SDK, JAVA_JRE)的正确方法
正确的方法是检测update-alternative指向什么,并始终使用update-alternatives切换活动版本(如果有多个则必须使用update-alternative)。
以下是对这两者的建议:只针对特定的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.
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
一旦我在Ubuntu机器上安装了Java Development Kit的openjdk版本,我使用这个过程来创建一个JAVA_HOME环境变量,在每次升级openjdk安装版本后都不需要更改这个环境变量。
首先,我发出一个命令来查找java可执行文件所在的目录。
echo $(readlink -e `which java` | xargs -0 dirname)
如果我对它的输出满意,其他的都可以从它推导出来。
配置JAVA_HOME和PATH环境变量
而不是在~/中添加越来越多的配置。我发现创建一个单独的小文件~/. bashrc文件是一个更干净的实践。Bashrc在运行时可以“包含”。
让我们将该文件命名为~/.java_env_vars(但您可以将其命名为任何您希望的名称)。
在~/中添加一个包含条件。bashrc文件(
~ /开放。在任何文本编辑器中使用Bashrc,并将这些行保存到文件的末尾:
# include the java environment configuration file here (if it exists)
if [ -f "$HOME/.java_env_vars" ]; then
. $HOME/.java_env_vars
fi
创建Java环境变量配置文件
打开任何文本编辑器,创建Java环境配置文件~/.java_env_vars,并将以下内容添加到其中:
#1. set a java_bin variable to the directory containing the actual Java executables.
java_bin=$(readlink -e `which java` | xargs -0 dirname)
#2. append "$java_bin" to the PATH environment variable
export PATH=$PATH:"$java_bin"
#3. assign the directory of the current Java installation to the JAVA_HOME environment variable.
export JAVA_HOME=$(dirname "$java_bin")
注意:导出PATH和JAVA_HOME变量只是确保它们在需要时始终可用。
来源你的~/。Bashrc文件(这样你对它所做的更改就会反映出来)使用以下命令:
source ~/.bashrc
测试Java环境变量配置
打开一个新的终端控制台,并通过发出以下命令测试新的Java环境变量:
echo "$PATH" && echo "$JAVA_HOME"
输出应该是两行,就像这样:
/home/user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-11-openjdk-amd64/bin
/usr/lib/jvm/java-11-openjdk-amd64
您可以从apt安装默认的Ubuntu(17.10) java:
sudo apt install openjdk-8-jdk-headless
它会为你设置PATH,如果你需要安装特定版本的Java,你可以关注这个YouTube
安装后的Open JDK通常位于/usr/lib/java-6-openjdk中
像往常一样,您需要设置JAVA_HOME、类路径和Path。
在ubuntu 11.04中,在/etc目录下有一个环境文件,你需要设置所有三个路径。然后你需要重新启动你的系统使更改生效。
这里有一个网站可以帮助你 http://aliolci.blogspot.com/2011/05/ubuntu-1104-set-new-environment.html
推荐文章
- 在Bash命令提示符上添加git分支
- JavaFX应用程序图标
- Java:强/软/弱/幻影引用的区别
- 在序列化和反序列化期间JSON属性的不同名称
- 获取Android设备名称
- Gradle代理配置
- 如何获得具有已知资源名称的资源id ?
- 在Android上将字符串转换为整数
- 为什么“System.out。”println“工作在Android?
- 在Java中什么时候使用可变参数?
- Mockito的argumentCaptor的例子
- 如何在Makefile中设置子进程的环境变量
- 我如何告诉Spring Boot哪个主类用于可执行jar?
- 如何将Java8流的元素添加到现有的列表中
- 在Java 8中是否可以转换流?