如何在Ubuntu中设置Java环境路径

Ull*_*kar 134 java ubuntu environment-variables

我刚刚在Ubuntu中使用sudo apt-get install openjdk-6-jdk命令安装了JDK,安装后的Java bin目录位于何处?我该如何设置该目录的环境路径?我对Ubuntu没什么经验,有人可以提供一些建议或建议任何好的网站供参考吗?

Pra*_*ngh 162

设置环境变量如下

编辑系统路径文件/ etc/profile

sudo gedit /etc/profile
Run Code Online (Sandbox Code Playgroud)

最后添加以下行

JAVA_HOME=/usr/lib/jvm/jdk1.7.0
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH
Run Code Online (Sandbox Code Playgroud)

然后注销并登录ubuntu以设置路径...

  • 为什么要出口JRE_HOME? (11认同)
  • 它对我不起作用,并且以前的版本仍为默认版本。我将路径的顺序更改为`export PATH = $ {JAVA_HOME} / bin:$ {PATH}`并且版本得到更新。我认为从左到右的优先级在这里起作用。 (2认同)
  • 已经在这里解决了 /sf/ask/1724907551/?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa (2认同)
  • .bash_profile 和 .bashrc 特定于 bash,而 .profile 可以在没有自己的特定于 shell 的配置文件的情况下被许多 shell 读取。/etc/bash_profile(后备 /etc/profile)在用户的 .profile 之前读取,以进行系统范围的配置。 (2认同)

Vij*_*wal 68

通常安装Java以/usr/java 找到您拥有的版本,然后执行以下操作:

假设您正在使用bash(如果您刚开始使用bash而不是其他shell),您只需键入bash即可启动它.

编辑~/.bashrc文件并添加路径,如下所示:

例如.六~/.bashrc

插入以下行:

export JAVA_HOME=/usr/java/<your version of java>
export PATH=${PATH}:${JAVA_HOME}/bin
Run Code Online (Sandbox Code Playgroud)

保存更改后,退出并重新启动bash或只需键入bash即可启动新shell

输入export以确保路径正确.

输入java -version以确保可以访问Java.


pra*_*mar 32

Ubuntu将openjdk6安装到/usr/lib/jvm/java-6-openjdk路径.所以你将拥有垃圾箱/usr/lib/jvm/java-6-openjdk/bin.通常会为java及相关可执行文件自动设置类路径.


Atu*_*ind 22

为单个用户设置JAVA_HOME/PATH,请登录到您的帐户并打开.bash_profile文件

$ vi ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

使用语法导出如下设置JAVA_HOME JAVA_HOME=<path-to-java>.如果您的路径设置为/usr/java/jdk1.5.0_07/bin/java,请按如下所示进行设置:

export JAVA_HOME=/usr/java/jdk1.5.0_07/bin/java
Run Code Online (Sandbox Code Playgroud)

设置PATH如下:

export PATH=$PATH:/usr/java/jdk1.5.0_07/bin
Run Code Online (Sandbox Code Playgroud)

根据您的设置,随意更换/usr/java/jdk1.5.0_07.保存并关闭文件.只需注销并重新登录即可查看新的更改.或者,键入以下命令以立即激活新路径设置:

$ source ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

要么

$ . ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

验证新设置:

$ echo $JAVA_HOME
$ echo $PATH
Run Code Online (Sandbox Code Playgroud)

提示:使用以下命令查找UNIX/Linux下java可执行文件的确切路径:

$ which java
Run Code Online (Sandbox Code Playgroud)

请注意,文件〜/ .bashrc是类似的,除了〜/ .bash_profile仅针对Bash登录shell运行,而.bashrc针对每个新的Bash shell运行.

要为所有用户设置JAVA_HOME/PATH,您需要在/etc/profileOR /etc/bash.bashrc文件中为所有用户设置全局配置:

# vi /etc/profile
Run Code Online (Sandbox Code Playgroud)

接下来设置PATH/JAVA_PATH变量如下:

export PATH=$PATH:/usr/java/jdk1.5.0_07/bin
export PATH=$PATH:/usr/java/jdk1.5.0_07/bin
Run Code Online (Sandbox Code Playgroud)

保存并关闭文件.您需要再次键入以下命令以立即激活路径设置:

# source /etc/profile
Run Code Online (Sandbox Code Playgroud)

要么

# . /etc/profile
Run Code Online (Sandbox Code Playgroud)

  • 你确定你应该将 *JAVA_HOME* 设置为 *java* 二进制文件吗? (3认同)

小智 13

您需要设置 $JAVA_HOME 变量

就我而言,在设置 Maven 时,我必须将其设置为安装 JDK 的位置。

首先找出JAVA的安装位置:

$ whereis java
Run Code Online (Sandbox Code Playgroud)

java: /usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz

现在深入挖掘——

$ ls -l /usr/bin/java
Run Code Online (Sandbox Code Playgroud)

lrwxrwxrwx 1 root root 46 Aug 25 2018 /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
Run Code Online (Sandbox Code Playgroud)

-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
Run Code Online (Sandbox Code Playgroud)

附加以下几行

JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64

导出JAVA_HOME

使用重新加载路径

$. /etc/environment
Run Code Online (Sandbox Code Playgroud)

现在,

$ echo $JAVA_HOME
Run Code Online (Sandbox Code Playgroud)

这是您的输出:

/usr/lib/jvm/java-1.8.0-openjdk-amd64

我参考的来源:

https://askubuntu.com/a/175519

/sf/answers/1639950371/


Vin*_*yak 7

创建/打开~/.bashrc文件$vim ~/.bashrc 添加JAVA_HOMEPATH引用您的 JDK 路径

export JAVA_HOME=/usr/java/<your version of java>
export PATH=${PATH}:${JAVA_HOME}/bin
Run Code Online (Sandbox Code Playgroud)

保存存档

现在键入java -version它应该显示您在.bashrc文件中设置的内容。

这也将在整个会话中持续存在。

例子 :

在此输入图像描述

在此输入图像描述


Mic*_*ael 6

它应该把java放在你的路径中,可能在/ usr/bin/java中.找到它的最简单方法是打开一个术语并输入"which java".


Par*_*nda 6

要设置系统范围,您需要使用

/ etc /环境 文件sudo gedit /etc/environment

是您可以定义任何环境变量的位置。它在整个系统范围内都是可见的。定义变量后,需要重新启动系统。

范例:

sudo gedit /etc/environment
Run Code Online (Sandbox Code Playgroud)

像下面这样添加:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
JAVA_HOME="/opt/jdk1.6.0_45/"
Run Code Online (Sandbox Code Playgroud)

这是您可以找到更多的网站:http : //peesquare.com/blogs/environment-variable-setup-on-ubuntu/


ReS*_*Eng 6

安装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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

由于默认情况下您的 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
Run Code Online (Sandbox Code Playgroud)

PS:应该不需要更新 $PATH,因为 update-alternatives 会处理 /usr/bin/ 的链接。
更多信息:https : //manpages.ubuntu.com/manpages/trusty/man8/update-alternatives.8.html


Loi*_*ich 5

如果仅安装了openJDK,则应更新链接,因为您可以安装一些OpenJDK。

sudo update-alternatives --config java
Run Code Online (Sandbox Code Playgroud)

在这之后

$gedit ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

在文件中添加以下行

JAVA_HOME=/usr/lib/jvm/YOUR_JAVA_VERSION export PATH=$PATH:$JAVA_HOME/bin export JAVA_HOME

你可以用以下方式获得Java版本

java -version
Run Code Online (Sandbox Code Playgroud)


Pra*_*V R 5