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


Answers:


200

如下设置环境变量

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

sudo gedit /etc/profile

最后添加以下几行

JAVA_HOME=/usr/lib/jvm/jdk1.7.0
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH

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


19
为什么要导出JRE_HOME?
whossname

3
它对我不起作用,并且以前的版本仍为默认版本。我更改了路径的顺序,export PATH=${JAVA_HOME}/bin:${PATH} 并更新了版本。我认为从左到右的优先级在这里有效。
Ridhuvarshan


1
.bash_profile和.bashrc是bash特有的,而.profile是许多shell在没有其特定于shell的配置文件时读取的。在用户的.profile之前读取/ etc / bash_profile(后备/ etc / profile)以进行系统范围的配置。
Ryan Augustine

另外,您必须注销并登录才能使更改对/ etc / profile生效,但只有在更改〜/ .bashrc时,才关闭并打开新的终端
Ryan Augustine

78

通常会在/usr/java 找到所需版本的位置安装Java ,然后执行以下操作:

假设您正在使用bash(如果刚开始,我建议在其他shell上使用bash),则只需键入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。


完善!谢谢。注意:您可能希望从系统中删除默认的openJDK,因为它首先出现在全局路径中。因此,在加载了上述脚本之后,由于默认的openjk-jre,您将仅显示“ javac”而不是java。〜sudo易于得到删除openjdk- *〜
kholofelo Maloma

我对此有问题,我尝试了每种方法来更新java,但我的版本仍然是jdk1.7,但我设置了通往jdk1.8的路径
冯顿

32

Ubuntu将openjdk6安装到/usr/lib/jvm/java-6-openjdkpath。这样您就可以将垃圾箱放入了/usr/lib/jvm/java-6-openjdk/bin。通常,为Java及相关可执行文件自动设置类路径。


23

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

$ vi ~/.bash_profile

使用语法export如下设置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

如下设置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/profileOR /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

1
确定要将JAVA_HOME设置Java二进制文件吗?
所有工人都是

8

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

sudo update-alternatives --config java

在这之后

$gedit ~/.bashrc

在文件中添加以下行

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

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

java -version

7

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

/ etc /环境 文件sudo gedit /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/


如果您更新任何条目,请使用source /etc/environment命令重新加载
Waleed Abdalmajeed 18/12/17

6

它应该将Java放在您的路径中,可能在/ usr / bin / java中。找到它的最简单方法是打开一个术语,然后键入“哪个java”。


6

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

导出JAVA_HOME

使用以下命令重新加载PATH

$. /etc/environment

现在,

$ echo $JAVA_HOME

这是您的输出:

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

我提到的资料来源:

https://askubuntu.com/a/175519

https://stackoverflow.com/a/23427862/6297483


4
  • 打开终端(Ctrl+ Alt+ t
  • 类型

    sudo gedit .bashrc 
  • 输入Ubuntu用户密码
  • 转到文件的最后一行
  • 在新行中键入以下代码

    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
  • 保存文件
  • 类型

    source ~/.bashrc

    在终端

  • 完成

4
  1. 更新bashrc文件以添加JAVA_HOME

    sudo nano ~/.bashrc

  2. 添加JAVA_HOMEbashrc文件。

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

  3. 确保可访问Java

    java -version

  4. 在手动安装JDK的情况下,如果出现如下所示的错误

    VM初始化期间发生错误
    java / lang / NoClassDefFoundError:java / lang / Object
    
  5. 在您的JAVA_HOME / lib目录中执行以下命令:

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

  6. 在您的JAVA_HOME / jre / lib中执行以下命令

    ../../bin/unpack200 rt.pack rt.jar ../../bin/unpack200 jsse.pack jsse.rar ../../bin/unpack200 charsets.pack charsets.jar

  7. 确保可访问Java

    java -version


4

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

正确的方法(如果有多个,则是强制性的)是检测更新替代指向的内容,并始终使用更新替代来切换活动版本。

以下是这两种建议:仅特定的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.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

由于默认情况下您的外壳可能未设置为交互式,因此您可能还需要这样做:
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


2

让我简化一下,首先从Oracle网站下载JDK:链接

2]然后解压缩

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

4]将提取的文件夹从jdk移动到/ usr / lib / jvm /

*注意:使用terminal,sudo,mv命令,即sudo mv

5]在/etc/profile.d/中创建一个.sh文件,例如:/etc/profile.d/myenvvar.sh

6]在.sh文件类型中

导出JAVA_HOME = / usr / lib / jvm / jdk1.7.0

导出PATH = $ PATH:$ JAVA_HOME / bin

*注意:使用terminal,gedit和sudo例如:sudo gedit myenvvar.sh

7]完成所有这些步骤后,关闭计算机,然后重新启动

8]打开“终端”,然后键入

Java版本

9]检查输出,然后键入

回声$ JAVA_HOME

10]检查输出并感到高兴:)


我的JAVA_HOME是在/etc/profile.d/maven.sh中设置的。谢谢。
Fid

2

第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

第三步:

source ~/.bash_profile


1

现在您要做的就是设置“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

这仅适用于终端会话,无处可用
杰克

1

我有一个Linux Lite 3.8(基于Ubuntu 16.04 LTS),并且以下文件中的路径更改(具有root特权)具有重启功能,这对您有所帮助。

/etc/profile.d/jdk.sh

0

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

sudo apt install openjdk-8-jdk-headless 

并且它将为您设置PATH,如果您需要安装特定版本的Java,则可以遵循此YouTube



0

从已安装列表中设置Java版本。要查看已安装版本的列表,请运行以下命令:

update-java-alternatives --list

然后根据以下命令设置您的Java版本:

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

-1

安装Oracle Java:

  1. 从Oracle网站下载tarball(.tar文件)
  2. 通过sudo tar -xvpzf fileName -C / installation_folder_name解压缩
  3. 更改文件的权限和所有权
  4. 在/ etc / profile中添加以下两行

导出JAVA_HOME = / home / abu / Java / jdk1.8.0_45 /导出PATH = $ JAVA_HOME / bin:$ PATH

  1. 重新启动机器,并通过java -version和javac -version检查
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.