首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C#中查找java路径的最佳方法

在C#中查找java路径的最佳方法
EN

Stack Overflow用户
提问于 2013-07-24 06:15:42
回答 2查看 3.3K关注 0票数 1

我需要通过C#获得Java路径的最好方法。目前我是这样做的:

代码语言:javascript
复制
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();
   }
}

但这并不是在每台计算机上都能正常工作。你们中有谁知道更好的方法来获得路径吗?

EN

回答 2

Stack Overflow用户

发布于 2013-07-24 06:34:01

另一种方法是检查是否存在JAVA_HOME环境变量,前提是将其设置为正确的JRE位置

http://msdn.microsoft.com/en-us/library/77zkk0b6.aspx

一个问题是,这不是由JRE安装程序设置的,因为可能安装了多个版本的Java。

Why doesn't the Java SDK installer set JAVA_HOME?

票数 0
EN

Stack Overflow用户

发布于 2013-07-24 06:56:57

遵循Java哲学,没有"Java路径“。可能是JAVA_HOME路径。注册表中可能有的内容。但它与.NET框架不同,后者是否安装在特定位置。

因此,为了回答您的问题,获取Java path的“最佳方法”是询问用户,如果他没有设置JAVA_HOME,那么他的Java安装位于什么路径上。不要忘记检查bin\java.exe文件的路径,如果该文件不存在,则拒绝该路径。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17821960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档