【问题标题】:How to set Java environment path in Ubuntu如何在 Ubuntu 中设置 Java 环境路径
【发布时间】:2012-03-25 15:46:47
【问题描述】:

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

【问题讨论】:

    标签: ubuntu environment-variables java


    【解决方案1】:

    我在我的 Ubuntu 20.04 中安装了 java 11。 为此设置了 JAVA_HOME。

    输入这个命令来查看你的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
    

    【讨论】:

      【解决方案2】:

      使用以下几行设置/etc/environment中的路径变量

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

      它应该可以工作。

      注意:

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

      别忘了重启后来这里投票+1 :)-|-

      【讨论】:

        【解决方案3】:
        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可以看到安装的版本

        【讨论】:

          【解决方案4】:

          创建/打开~/.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 上不起作用。
          【解决方案5】:

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

          update-java-alternatives --list
          

          然后根据以下命令设置你的java版本:

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

          【讨论】:

            【解决方案6】:

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

            /etc/profile.d/jdk.sh
            

            【讨论】:

              【解决方案7】:

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

              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
              

              由于默认情况下您的 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

              【讨论】:

              • 当我在安装“openjdk-11-jdk-headless”后使用上面的选项1时,我得到的JAVA_HOME和JDK_HOME都等于“/usr/lib/jvm/java-11-openjdk-amd64/ bin/java”,我认为它不正确。至少 Maven/mvn 说“没有正确定义 JAVA_HOME 环境变量。注意:JAVA_HOME 应该指向 JDK 而不是 JRE”j
              【解决方案8】:

              您需要设置 $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 2018 年 8 月 25 日 /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

              导出 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

              【讨论】:

                【解决方案9】:

                使用文本编辑器打开文件/etc/environment 添加行JAVA_HOME="[path to your java]" 保存并关闭然后运行source /etc/environment

                【讨论】:

                  【解决方案10】:

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

                  【讨论】:

                  • 这仅适用于终端会话,不适用于其他地方
                  【解决方案11】:
                  1. 更新bashrc文件以添加JAVA_HOME

                    sudo nano ~/.bashrc

                  2. JAVA_HOME 添加到bashrc 文件中。

                    export JAVA_HOME=/usr/java/&lt;your version of java&gt;
                    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

                  【讨论】:

                    【解决方案12】:

                    第一步:

                    sudo gedit ~/.bash_profile
                    

                    第二步:

                    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
                    

                    【讨论】:

                      【解决方案13】:

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

                      【讨论】:

                      • 完美!谢谢。注意:您可能希望从系统中删除默认的 openJDK,因为它首先出现在全局路径中。所以在上面的脚本加载之后,你只会看到“javac”而不是java,因为默认的openjk-jre。 ~sudo apt-get remove openjdk-*~
                      • 我有问题,我尝试了所有更新java的方法,但我的版本仍然是jdk1.7,但我设置了jdk1.8的路径
                      【解决方案14】:

                      如下设置环境变量

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

                      【讨论】:

                      • 为什么要导出 JRE_HOME?
                      • 它对我不起作用,以前的版本保持默认。我将路径的顺序更改为export PATH=${JAVA_HOME}/bin:${PATH} 并且版本已更新。我认为从左到右的优先级在这里有效。
                      • .bash_profile 和 .bashrc 是特定于 bash 的,而 .profile 在没有自己的特定于 shell 的配置文件的情况下被许多 shell 读取。 /etc/bash_profile(备用 /etc/profile)在用户的 .profile 之前读取以进行系统范围的配置。
                      • 此外,您必须注销并登录才能使更改对 /etc/profile 生效,但只有在更改 ~/.bashrc 时才关闭并打开一个新终端
                      【解决方案15】:

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

                      sudo apt install openjdk-8-jdk-headless 
                      

                      它会为你设置 PATH,如果你需要安装特定版本的 Java,你可以按照这个YouTube

                      【讨论】:

                        【解决方案16】:
                        • 打开终端(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
                          

                          在终端中

                        • 完成

                        【讨论】:

                          【解决方案17】:

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

                          2] 然后解压

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

                          4] 将解压出来的文件夹从jdk移动到/usr/lib/jvm/

                          *注意:使用终端、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

                          *注意:使用终端、gedit 和 sudo 例如:sudo gedit myenvvar.sh

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

                          8]打开终端,输入

                          java-版本

                          9] 检查输出,然后输入

                          回显 $JAVA_HOME

                          10] 检查输出并开心:)

                          【讨论】:

                          • 我的 JAVA_HOME 设置在 /etc/profile.d/maven.sh 中。谢谢。
                          【解决方案18】:

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

                          【讨论】:

                            【解决方案19】:

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

                            /etc/environment文件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 命令重新加载
                            • 或注销自动激活新变量(see this question)
                            【解决方案20】:

                            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检查

                            【讨论】:

                              【解决方案21】:

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

                              $ vi ~/.bash_profile
                              

                              使用语法导出JAVA_HOME=&lt;path-to-java&gt; 如下设置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
                              

                              【讨论】:

                              • 您确定要将 JAVA_HOME 设置为 java 二进制文件吗?
                              【解决方案22】:

                              open jdk 安装后通常位于您的 /usr/lib/java-6-openjdk 像往常一样,您需要设置 JAVA_HOME、calsspath 和 Path 在 ubuntu 11.04 中,/etc 中有一个可用的环境文件,您需要在其中设置所有三个路径。然后您需要重新启动系统才能使更改生效..

                              这是一个可以帮助您的网站 http://aliolci.blogspot.com/2011/05/ubuntu-1104-set-new-environment.html

                              【讨论】:

                                【解决方案23】:

                                Ubuntu 将 openjdk6 安装到 /usr/lib/jvm/java-6-openjdk 路径。因此,您将在/usr/lib/jvm/java-6-openjdk/bin 中拥有垃圾箱。通常为 java 和相关的可执行文件自动设置类路径。

                                【讨论】:

                                  【解决方案24】:

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

                                  【讨论】:

                                    猜你喜欢
                                    • 2016-07-13
                                    • 2019-06-07
                                    • 2014-09-09
                                    • 1970-01-01
                                    • 2011-05-16
                                    • 1970-01-01
                                    • 2017-12-20
                                    • 2018-01-04
                                    相关资源
                                    最近更新 更多