如何在Java中获取JDK目录的位置?

时间:2008-12-09 18:45:46

标签: properties java

是否有像System.getProperty(“java.home”)这样的类似属性将返回JDK目录而不是JRE目录?我看了http://java.sun.com/j2se/1.4.2/docs/api/java/lang/System.html#getProperties(),JDK似乎没有任何东西。

3 个答案:

答案 0 :(得分:3)

一种方法是设置系统环境变量,如“JAVA_HOME”并使用它。

它可能不是最好的解决方案,但它可以工作,这就是其他需要JDK而不是JRE(如CruiseControl)的应用程序要求你在设置时做的。

答案 1 :(得分:2)

JDK没有与java.home类似的属性。有一些经验法则可以帮助检测您运行的JRE是否是JDK的一部分。例如,查找“$ {java.home} /../ lib / tools.jar”。换句话说,在某些情况下,您可能会建议一个默认值,但一般来说,用户应该告诉您使用哪个JDK。

答案 2 :(得分:0)

另一种方法是通过属性文件定义JDK的路径。这可以是System环境变量的补充,以允许覆盖。

根据您的使用情况,您可以将此属性文件放在主目录或包中。