我需要通过C#获得Java路径的最好方法。目前我是这样做的:
public String getJavaPath()
{
String javaKey = "SOFTWARE\\JavaSoft\\Java Runtime Environment";
using (var baseKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64).OpenSubKey(javaKey))
{
String currentVersion = baseKey.GetValue("CurrentVersion").ToString();
using (var homeKey = baseKey.OpenSubKey(currentVersion))
return homeKey.GetValue("JavaHome").ToString();
}
}但这并不是在每台计算机上都能正常工作。你们中有谁知道更好的方法来获得路径吗?
发布于 2013-07-24 06:34:01
另一种方法是检查是否存在JAVA_HOME环境变量,前提是将其设置为正确的JRE位置
http://msdn.microsoft.com/en-us/library/77zkk0b6.aspx
一个问题是,这不是由JRE安装程序设置的,因为可能安装了多个版本的Java。
发布于 2013-07-24 06:56:57
遵循Java哲学,没有"Java路径“。可能是JAVA_HOME路径。注册表中可能有的内容。但它与.NET框架不同,后者是否安装在特定位置。
因此,为了回答您的问题,获取Java path的“最佳方法”是询问用户,如果他没有设置JAVA_HOME,那么他的Java安装位于什么路径上。不要忘记检查bin\java.exe文件的路径,如果该文件不存在,则拒绝该路径。
https://stackoverflow.com/questions/17821960
复制相似问题