作为安装程序的一部分,我正在构建,我想检查 Java 开发工具包是否已安装(特别是 JDK,JRE 不会)。在我的本地计算机上,我可以清楚地看到注册表中的 key (HKLM\SOFTWARE\JavaSoft\Java Development Kit),但以下代码(C#)没有找到该 key :
RegistryKey jdkKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\JavaSoft\Java Development Kit");
当我使用以下代码调查“HKLM\SOFTWARE\JavaSoft”下存在哪些键时,Java 开发工具包不存在。
string[] keyNames = Registry.LocalMachine.OpenSubKey("SOFTWARE\\JavaSoft").GetSubKeyNames();
我也以编程方式查看了我的环境变量,似乎也没有任何迹象表明 JDK 存在(它就在那里,正如我上面所说,它在注册表中,并且我正在使用它对于我正在为其构建安装程序的程序的 Java 开发,有趣的是)。
关于如何确定 JDK 是否已安装,有什么想法吗?正如我所说,仅 JRE 是不够的,因为我在运行时进行一些编译,为此我需要 JDK。
最佳答案
试试这个
System.out.println(System.getProperty("java.library.path"));
如果为空则不应安装
关于java - 以编程方式检查Java开发工具包是否已安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28738116/