Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于ubuntu中java和环境变量的一个简单问题_Java_Variables_Ubuntu_Environment - Fatal编程技术网

关于ubuntu中java和环境变量的一个简单问题

关于ubuntu中java和环境变量的一个简单问题,java,variables,ubuntu,environment,Java,Variables,Ubuntu,Environment,我已经安装了带有java的Ubuntu 10.10。我能够从任何文件夹执行java命令。我想这可能是因为我设置了java类路径。但JAVA_HOME和CLASSPATH都没有设置 如果我查看/etc/environment内容,我可以看到路径设置为/usr/bin/(等等)。作为“哪个java”返回/usr/bin/java,这就是我可以在任何地方执行java的原因吗?如果没有,原因是什么?您可以执行java,因为命令在您的路径上 echo $PATH 将向您显示搜索的目录以及查找特定程序的顺

我已经安装了带有java的Ubuntu 10.10。我能够从任何文件夹执行java命令。我想这可能是因为我设置了java类路径。但JAVA_HOME和CLASSPATH都没有设置


如果我查看/etc/environment内容,我可以看到路径设置为/usr/bin/(等等)。作为“
哪个java
”返回/usr/bin/java,这就是我可以在任何地方执行java的原因吗?如果没有,原因是什么?

您可以执行java,因为命令在您的路径上

echo $PATH
将向您显示搜索的目录以及查找特定程序的顺序。由于
/usr/bin
在您的路径上,当您键入
java
时,它最终将看到
/usr/bin/java
。请注意,在许多系统中,这是一个符号链接(指向另一个文件的文件),因此
/usr/bin/java
通常指向
/etc/alternations/java
(这也是一个指向实际可执行文件的符号链接)

环境变量
JAVA_HOME
在工具和程序中起作用,这些工具和程序检查
JAVA_HOME
并对其进行操作,而不是依赖路径。在大多数现代Linux系统中,替代子系统所做的工作取代了早期(问题更多)的
JAVA\u HOME
技术。也就是说,如果您遇到需要设置的工具,您可能会希望设置
JAVA\u HOME


JAVA\u HOME
没有那么受欢迎的一个原因是,要访问
JAVA\u HOME
您需要运行一个shell,而不是每个人都想将每个JAVA项包装在一个shell命令中。

您可以执行JAVA,因为命令在您的路径上

echo $PATH
将向您显示搜索的目录以及查找特定程序的顺序。由于
/usr/bin
在您的路径上,当您键入
java
时,它最终将看到
/usr/bin/java
。请注意,在许多系统中,这是一个符号链接(指向另一个文件的文件),因此
/usr/bin/java
通常指向
/etc/alternations/java
(这也是一个指向实际可执行文件的符号链接)

环境变量
JAVA_HOME
在工具和程序中起作用,这些工具和程序检查
JAVA_HOME
并对其进行操作,而不是依赖路径。在大多数现代Linux系统中,替代子系统所做的工作取代了早期(问题更多)的
JAVA\u HOME
技术。也就是说,如果您遇到需要设置的工具,您可能会希望设置
JAVA\u HOME

JAVA\u HOME
没有那么受欢迎的一个原因是,要访问
JAVA\u HOME
您需要运行一个shell,而不是每个人都想将每个JAVA项包装在一个shell命令中。

是的,如果是JAVA二进制文件(或指向它的链接)位于路径上列出的文件夹中,则可以执行java,而无需指定路径(例如
/usr/local/java/latest/bin/java-jar x.jar
) JAVA_HOME和CLASSPATH与系统路径无关。 JAVA_HOME允许其他软件(或脚本)知道在哪里查找JAVA安装。 CLASSPATH告诉java在何处查找类(.class文件是编译.java文件的结果)。

是的,如果java二进制文件(或指向它的链接)位于路径上列出的文件夹中,那么您可以执行java,而无需指定其路径(例如
/usr/local/java/latest/bin/java-jar x.jar
) JAVA_HOME和CLASSPATH与系统路径无关。 JAVA_HOME允许其他软件(或脚本)知道在哪里查找JAVA安装。
CLASSPATH告诉java在何处查找类(.class文件是编译.java文件的结果)。

这可能更适用于或更适用于或@de3,是的,答案是肯定的。很抱歉忘记了解释中显而易见的答案。@de3,是的,答案是肯定的。很抱歉忘记了解释中显而易见的答案。