为什么ActiveMQ提供程序需要设置JAVA_HOME
env变量
到jdk位置。
该变量用于什么?
如果需要运行java
命令和相关命令,为什么还要使用JAVA_HOME
如果PATH
env变量设置正确,则java命令始终可用。
或者我错过了一些观点?
编辑: 我不认为我的问题是重复的, 我在该变量上要求非常精确的点,也与$ PATH env变量和ActiveMQ相关。
答案 0 :(得分:1)
对于JAVA_HOME的实际原因是,许多应用程序需要寻找的不仅仅是在路径可执行文件,一些Java应用程序需要找到他们应该作为库使用的jar文件 - 请记住,有可能超过安装了一个java安装,并且任何给定的应用程序可能需要特定的java版本,而不是路径上的版本。
考虑使用不在路径上的特定java版本的应用程序。您可以指定java.exe的路径,但如果应用程序需要以某种方式与它们进行交互而不仅仅使用它们,应用程序如何知道它应该使用哪些库?它可能可以从环境中找出它,但可能不准确,肯定会依赖于平台。
通常有多种方法可以为应用程序提供此信息,JAVA_HOME是一种,通常根本不需要它。