C# コードから javac を呼び出しています。もともと私はその場所を次のようにしか見つけませんでした:
protected static string JavaHome
{
get
{
return Environment.GetEnvironmentVariable("JAVA_HOME");
}
}
しかし、JDK を新しいコンピューターにインストールしたところ、JAVA_HOME 環境変数が自動的に設定されないことがわかりました。環境変数を要求することは、過去 10 年間、どの 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;
}
}