我刚刚用sudo apt-get install openjdk-6-jdk命令在Ubuntu中安装了JDK, 安装后Java bin目录在哪里?如何为该目录设置环境路径?我对Ubuntu没什么经验,有人能给我一些建议或者推荐一些好的网站供参考吗?


当前回答

如果你只安装了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

其他回答

Update bashrc file to add JAVA_HOME sudo nano ~/.bashrc Add JAVA_HOME to bashrc file. export JAVA_HOME=/usr/java/<your version of java> export PATH=${PATH}:${JAVA_HOME}/bin Ensure Java is accessible java -version In Case of Manual installation of JDK, If you got an error as shown below Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object Execute the following command in your JAVA_HOME/lib directory: unpack200 -r -v -l "" tools.pack tools.jar Execute the following commands in your JAVA_HOME/jre/lib ../../bin/unpack200 rt.pack rt.jar ../../bin/unpack200 jsse.pack jsse.rar ../../bin/unpack200 charsets.pack charsets.jar Ensure Java is accessible java -version

您需要设置$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

创建/打开~ /。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 20.04中安装了java 11。为它设置一个JAVA_HOME。

输入this命令找出你的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

如何安装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