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

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

746628 次浏览

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

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是可访问的。

Ubuntu安装openjdk6到/usr/lib/jvm/java-6-openjdk路径。所以你会在/usr/lib/jvm/java-6-openjdk/bin中有这个箱子。通常,类路径会自动设置为java &相关的可执行文件。

open jdk一旦安装,通常位于你的/usr/lib/java-6-openjdk

像往常一样,你需要设置JAVA_HOME,类路径和路径。

在ubuntu 11.04中,有一个环境文件在/etc中可用,你需要在其中设置所有三个路径。然后你需要重新启动你的系统使更改生效。

这是一个帮助你的网站 http://aliolci.blogspot.com/2011/05/ubuntu-1104-set-new-environment.html < / p >

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

$ vi ~/.bash_profile

使用语法export 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

环境变量的设置方法如下

编辑系统路径文件/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设置路径…

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

/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/

安装Oracle Java:

  1. 从Oracle网站下载tarball (.tar文件)
  2. 通过sudo tar -xvpzf fileName -C /installation_folder_name解压缩
  3. 更改文件权限和所有权
  4. /etc/profile中添加以下两行
export JAVA_HOME=/home/abu/Java/jdk1.8.0_45/
export PATH=$JAVA_HOME/bin:$PATH
  1. 重新启动机器并通过java -versionjavac -version检查

如果你只安装了openJDK,你应该更新你的链接,因为你可以安装一些openJDK。

sudo update-alternatives --config java

在这之后

$gedit ~/.bashrc

在文件中添加以下行

< p > <代码> JAVA_HOME = / usr / lib / jvm / YOUR_JAVA_VERSION 导出路径= $路径:$ JAVA_HOME / bin 出口JAVA_HOME < /代码> < / p >

你可以得到你的Java版本

java -version
  • 打开终端(Ctrl+Alt+t)
  • < p >类型

    sudo gedit .bashrc
    
  • Enter password of ubuntu user
  • Go to last line of the file
  • Type below code in new line

    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
    
  • Save the file
  • Type

    source ~/.bashrc
    

    在终端< / p >

  • 完成

让我简化一下:

  1. 下载JDK从Oracle网站:链接

  2. < p >提取它

  3. /usr/lib/中创建一个文件夹(jvm),即/usr/lib/jvm

  4. 将解压缩的文件夹从jdk移动到/usr/lib/jvm/

*注意:使用终端,sudomv命令,即sudo mv

  1. /etc/profile.d/处创建一个.sh文件,例如:/etc/profile.d/myenvvar.sh

  2. .sh文件类型中

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0


export PATH=$PATH:$JAVA_HOME/bin

*注意:使用终端,geditsudo,例如:sudo gedit myenvvar.sh

  1. 关闭计算机,在所有这些步骤后,重新启动它

  2. 打开终端,输入

java -version

  1. 检查输出,然后输入

echo $JAVA_HOME

您可以从apt安装默认的Ubuntu(17.10) java:

sudo apt install openjdk-8-jdk-headless

它会为你设置PATH,如果你需要安装特定版本的Java,你可以遵循YouTube

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

-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


export JAVA_HOME

重载路径使用:

$. /etc/environment

现在:

$ echo $JAVA_HOME

以下是你的输出:

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

我提到的资料来源:

https://askubuntu.com/a/175519 < a href = " https://askubuntu.com/a/175519 " > < / >

https://stackoverflow.com/a/23427862/6297483 < a href = " https://stackoverflow.com/a/23427862/6297483 " > < / >

步骤1:

sudo gedit ~/.bash_profile

步骤2:

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

步骤3:

source ~/.bash_profile
  1. 更新bashrc文件,添加JAVA_HOME

    sudo nano ~/.bashrc < / p >

  2. JAVA_HOME添加到bashrc文件。

    < p > export JAVA_HOME=/usr/java/<your version of java> < br > 李export PATH=${PATH}:${JAVA_HOME}/bin < / p > < / >
  3. 确保Java可访问

    java -version < / p >

  4. 在手动安装JDK的情况下,如果你得到一个错误如下所示

    Error occurred during initialization of VM
    java/lang/NoClassDefFoundError: java/lang/Object
    
  5. Execute the following command in your JAVA_HOME/lib directory:

    unpack200 -r -v -l "" tools.pack tools.jar

  6. 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

  7. Ensure Java is accessible

    java -version

你现在要做的就是设置“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
用文本编辑器打开文件/etc/environment 添加行JAVA_HOME="[path to your java]" 保存并关闭,然后运行source /etc/environment

如何安装java包:

使用官方ubuntu包安装所需的java版本,这些版本使用替代方案管理 sudo apt install -y openjdk-8-jdk < br > 或/和其他版本: sudo apt install -y openjdk-11-jdk < / p > 以上答案仅当您的机器上所有软件只有一个版本时是正确的,并且您可以跳过使用update-alternatives。所以你可以在。bashrc或其他地方快速硬编码:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64 < br > 但这是不健康的,因为稍后您可能会更改版本

设置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 < / p >
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

我有一个Linux Lite 3.8(它基于Ubuntu 16.04 LTS),在重启时更改以下文件(具有根权限)的路径有帮助。

/etc/profile.d/jdk.sh

从已安装的列表中设置java版本。查看已安装版本列表,执行以下命令:

update-java-alternatives --list

然后按如下命令设置java版本:

sudo update-java-alternatives --set /usr/lib/jvm/java-1.8.0-openjdk-amd64

创建/打开~/.bashrc文件 添加JAVA_HOMEPATH作为JDK路径

export JAVA_HOME=/usr/java/<your version of java>
export PATH=${PATH}:${JAVA_HOME}/bin

保存文件

现在输入java -version,它会显示你在.bashrc文件中设置的内容。

这也会在会议中持续。

例子:

enter image description here

enter image description here

  1. JDK安装后,在环境中设置JAVA_HOME

    sudo nano /etc/environment和添加行JAVA_HOME="/usr/lib/jvm/jdk-11.0.1/"

  2. .bashrc中添加配置

sudo nano ~/.bashrc并添加以下行

JAVA_HOME=/usr/lib/jvm/jdk-11.0.11/
PATH=$JAVA_HOME/bin:$PATH
  1. source ~/.bashrc刷新新的配置
  2. 输入命令java -version,你可以看到安装在你的机器上的版本

使用下面的行来设置/etc/environment . xml文件中的路径变量

echo export JAVA_HOME=/path/to/java | sudo tee -a /etc/environment
echo export JRE_HOME=/path/to/jre  | sudo tee -a /etc/environment

它应该会起作用。

注意:

您应该重新启动系统以使更改生效。

我安装了java 11在我的Ubuntu 20.04。,设置了一个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

现在你可以开始了!!< br > 打开一个新终端,输入命令——

ehco $JAVA_HOME

首先,检查env var是否存在

echo $JAVA_HOME

如果存在同名的env变量,则上面的命令将返回env变量的路径。如果它没有返回任何东西,那么首先复制env路径,然后执行下面的命令。例如我的java env路径是/usr/lib/jvm/java-11-openjdk-amd64

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

一旦我在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