有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

ubuntu即使$JRE_HOME未设置,java版本也能正常显示

我使用sudo apt-get open-jdk7在我的Ubuntu操作系统上安装Java

当我打开一个终端并键入echo $JRE_HOME时,它不显示任何内容。但随后我做了java -version它向我展示了OpenJDK的正确版本。当我简单地键入java时,它也能工作

不确定Ubuntu如何设置java的路径

类似地javac也能工作,但我说echo $JAVA_HOME时什么也看不到

我的路径中没有显示java目录路径

Ubuntu在哪里设置java路径?为什么Ubuntu在安装OpenJDK时不设置JAVA_HOMEJRE_HOME


共 (3) 个答案

  1. # 1 楼答案

    一个常见的误解是Java需要JAVA_HOMEJRE_HOME或类似的环境变量才能工作

    事实上javajavac(以及相关的)可执行文件并不真正关心这些变量。它们只需要位于PATH上(或者如果不在PATH上,则可以通过完整路径执行),并通过“靠近自身”查找相关安装(即,可执行文件通常安装在相对于JVM文件的已知位置)

    有一些第三方脚本使用JAVA_HOME和/或JRE_HOME查找Java安装(Apache Tomcat就是一个著名的例子),但Java可执行文件本身不需要这些变量

    至于Ubuntu如何找到可执行文件很容易回答:使用which javawhich javac找出键入这些命令时执行的可执行文件。在基于Debian的系统上,它们通常是通过the alternatives systems指向实际可执行文件的一系列符号链接

  2. # 2 楼答案

    与许多Linux发行版一样,Ubuntu的路径中也有/etc/alternative。如果键入:

    which java
    

    然后你会得到

    /etc/alternatives/java
    

    如果键入:

    ls -l /etc/alternatives/java
    

    然后你会得到

    /etc/alternatives/java -> /usr/lib/jvm/<your java version>
    

    几个mor ls-l-s可以帮助你了解全部情况

  3. # 3 楼答案

    “ubuntu在哪里设置java路径?”,ubuntu不会自动设置OpenJDKJava路径。 试一试

    find / -name "java"
    

    找到javac。写

    export JRE_HOME="xxx"
    

    (其中xxx是开放jdk jre的基础。)

    顺便说一句:你没有什么比开放jdk的麻烦。你最好使用sunjdk