是否有像System.getProperty(“java.home”)这样的类似属性将返回JDK目录而不是JRE目录?我看了http://java.sun.com/j2se/1.4.2/docs/api/java/lang/System.html#getProperties(),JDK似乎没有任何东西。
答案 0 :(得分:3)
一种方法是设置系统环境变量,如“JAVA_HOME”并使用它。
它可能不是最好的解决方案,但它可以工作,这就是其他需要JDK而不是JRE(如CruiseControl)的应用程序要求你在设置时做的。
答案 1 :(得分:2)
JDK没有与java.home
类似的属性。有一些经验法则可以帮助检测您运行的JRE是否是JDK的一部分。例如,查找“$ {java.home} /../ lib / tools.jar”。换句话说,在某些情况下,您可能会建议一个默认值,但一般来说,用户应该告诉您使用哪个JDK。
答案 2 :(得分:0)
另一种方法是通过属性文件定义JDK的路径。这可以是System环境变量的补充,以允许覆盖。
根据您的使用情况,您可以将此属性文件放在主目录或包中。