我刚刚用sudo apt-get install openjdk-6-jdk命令在Ubuntu中安装了JDK, 安装后Java bin目录在哪里?如何为该目录设置环境路径?我对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
其他回答
如何安装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
您需要设置$JAVA_HOME变量。
以我为例,在设置Maven时,我必须将它设置到安装JDK的地方。
首先找出JAVA的安装位置:
$ whereis java
java: /usr/bin/java /usr/share/java /usr/share/man/man1/java. gz
现在再深入挖掘:
$ ls -l /usr/bin/java
lrwxrwx 1根根46 Aug /etc/ usr/lib/jvm/java-8- amder64 /jre/bin/java
你更深入:
$ ls -l /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
-rwxr-xr- 1根根6464 64马尔1418:28 /usr/lib/jvm/java-8
因为它没有被引用到任何其他目录,所以我们将使用这个目录。
使用nano打开/etc/environment:
$ sudo nano /etc/environment
添加以下几行
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
export JAVA_HOME
重载路径使用:
$. /etc/environment
Now:
$ echo $JAVA_HOME
以下是你的输出:
/ usr / lib / jvm java-1 8月0-openjdk-amd64
我提到的资料来源:
https://askubuntu.com/a/175519
https://stackoverflow.com/a/23427862/6297483
如果你只安装了openJDK,你应该更新你的链接,因为你可以安装一些openJDK。
sudo update-alternatives --config java
在这之后
$gedit ~/.bashrc
在文件中添加以下行
JAVA_HOME = / usr / lib / jvm / YOUR_JAVA_VERSION 导出路径= $路径:$ JAVA_HOME / bin 出口JAVA_HOME
你可以得到你的Java版本
java -version
Java通常安装在/usr/java中 找到您拥有的版本,然后执行以下操作:
假设您正在使用bash(如果您刚刚开始,我建议使用bash而不是其他shell),您可以简单地输入bash来启动它。
编辑~/。Bashrc文件,添加如下路径:
例如,我们~/.bashrc
插入以下几行:
export JAVA_HOME=/usr/java/<your version of java>
export PATH=${PATH}:${JAVA_HOME}/bin
保存更改后,退出并重新启动bash,或者只输入bash启动一个新的shell
输入export以确保路径正确。
输入java -version以确保java是可访问的。
使用下面的代码行设置/etc/环境中的路径变量
echo export JAVA_HOME=/path/to/java | sudo tee -a /etc/environment
echo export JRE_HOME=/path/to/jre | sudo tee -a /etc/environment
它应该会起作用。
注意:
您应该重新启动系统以使更改生效。
推荐文章
- URL从Java中的类路径加载资源
- .toArray(new MyClass[0]) or .toArray(new MyClass[myList.size()])?
- Hibernate中不同的保存方法之间有什么区别?
- Java 8流和数组操作
- 在OSX中永久设置PATH环境变量
- Java Regex捕获组
- Openssl不被视为内部或外部命令
- 如何添加自定义方法到Spring Data JPA
- 如何在Ubuntu中设置Java环境路径
- 无法执行dex:在Eclipse中超过GC开销限制
- 有人能解释一下JPA和Hibernate中的mappedBy吗?
- 是什么导致JNI调用变慢?
- Java中的&和&&有什么区别?
- 使用Java的Collections.singletonList()?
- Maven使用多个src目录编译