关于ubuntu中java和环境变量的一个简单问题
我已经安装了带有java的Ubuntu 10.10。我能够从任何文件夹执行java命令。我想这可能是因为我设置了java类路径。但JAVA_HOME和CLASSPATH都没有设置关于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 将向您显示搜索的目录以及查找特定程序的顺
如果我查看/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,是的,答案是肯定的。很抱歉忘记了解释中显而易见的答案。