Метод c #
Process::Start(program, argumentString)
Может использоваться для запуска произвольных приложений, поэтому, если вы знаете команду запуска приложения Java из командной строки, вы можете вывести аргументы для Process: Start ().
Команда Java будет
java -jar <jarfile> {and maybe <mainClass>}
Итак, проблемы здесь
- доступна ли Java, у вас на пути?
- каков путь к jarfile
- как называется класс в файле jar, реализующем main? Если люди, поставляющие jarfile, были дружественными, тогда в манифесте JAR указывается имя основного класса, поэтому вам не понадобится этот аргумент. В противном случае, мы надеемся, что это было где-то задокументировано.
Если Java была установлена правильно, то она уже должна быть в вашем PATH. Попробуйте это из командной строки. Я думаю, что разумно заранее установить java, поэтому в вашем приложении на c # я бы просто предположил, что Java доступна, и попытался бы ее запустить, а затем обнаружил бы любую ошибку с помощью кода, такого как:
catch (Win32Exception e)
{
if(e.NativeErrorCode == ERROR_FILE_NOT_FOUND)
{
Console.WriteLine(e.Message + ". Check the path.");
}
и т.д..