Выполнение java.exe из C # в функции Azure - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь выполнить java для запуска файла JAR из функции Azure, но похоже, что переменная java PATH не определена или что-то еще, потому что Azure, похоже, не может ее найти.Код ниже:

 Process proc = new Process();
        try
        {
            proc.StartInfo.UseShellExecute = false;
            proc.StartInfo.CreateNoWindow = false;
            proc.StartInfo.RedirectStandardOutput = true;
            proc.StartInfo.FileName = "java.exe";
            proc.StartInfo.Arguments = "-jar file path and some more arguments";
            proc.Start();
            proc.WaitForExit();
            if (proc.HasExited)
                log.Info(proc.StandardOutput.ReadToEnd());

            log.Info("Java Success!");
        }
        catch (Exception e)
        {
            log.Info("Java Fail");
            log.Info(e.Message);
        }

Даже если я удалю proc.StartInfo.Arguments или скажу, чтобы он использовал java.exe вместо java, я все равно получаю ту же ошибку, ниже:

[Информация] Системе не удается найти указанный файл

Не поддерживается ли вызов java в функциях Azure?

1 Ответ

0 голосов
/ 11 октября 2018

ОК, понял это.Пока что наилучшим способом является полное определение пути к java.exe ...

, поэтому я изменил
proc.StartInfo.FileName = java.exe";
на
proc.StartInfo.FileName = "D:\\Program Files (x86)\\Java\\jdk1.8.0_73\\bin\\java.exe";

Вы можете определить полный путь к Java с помощью KUDU, который равен https://[yourFunctionName].scm.azurewebsites.net/

Если вы нажмете Tools-> DebugConsole, вы можете просматривать, пока не найдете место, где находится Java.

Примечаниежесткое программирование пути к Java, вероятно, является плохой идеей, поэтому вам, вероятно, следует использовать настройки приложения.

Редактировать Ниже приведена ссылка на репозиторий GitHub с моим последним проектом.Проект выполняет некоторые другие вещи, но вы можете видеть, где я вызываю Java для выполнения JAR-файла Batik.
https://github.com/osuhomebase/SVG2PNG-AzureFunction

...