【发布时间】:2010-12-09 13:18:49
【问题描述】:
我从 C# 代码调用 javac。原来我只找到它的位置如下:
protected static string JavaHome
{
get
{
return Environment.GetEnvironmentVariable("JAVA_HOME");
}
}
但是,我刚刚在新电脑上安装了JDK,发现它并没有自动设置JAVA_HOME环境变量。 要求环境变量在过去十年的任何 Windows 应用程序中都是不可接受的,因此如果未设置 JAVA_HOME 环境变量,我需要一种方法来查找 javac:
protected static string JavaHome
{
get
{
string home = Environment.GetEnvironmentVariable("JAVA_HOME");
if (string.IsNullOrEmpty(home) || !Directory.Exists(home))
{
// TODO: find the JDK home directory some other way.
}
return home;
}
}
【问题讨论】:
-
为什么不能接受?计算机应该如何神奇地知道可执行文件的安装位置?他们不是读心者,他们是计算机,你必须告诉他们该做什么......
-
因为它们没有在整个环境中正确同步,所以配置起来很麻烦,而且我厌倦了必须向用户编写复杂的指令。
标签: .net environment-variables java javac