выполнение файла JAR в приложении C # dot net - PullRequest
1 голос
/ 24 октября 2009
  1. Я хочу выполнить файл JAR из приложения C # .net. Файл JAR является консольным приложением. Файл jar находится в том же каталоге, что и приложение C #. 2. Я хочу проверить, установлен ли jdk из C # .net applcation Как я могу это сделать?

Ответы [ 3 ]

3 голосов
/ 24 октября 2009

Метод c #

Process::Start(program, argumentString)

Может использоваться для запуска произвольных приложений, поэтому, если вы знаете команду запуска приложения Java из командной строки, вы можете вывести аргументы для Process: Start ().

Команда Java будет

java -jar <jarfile> {and maybe <mainClass>}

Итак, проблемы здесь

  1. доступна ли Java, у вас на пути?
  2. каков путь к jarfile
  3. как называется класс в файле 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.");
                } 

и т.д..

1 голос
/ 24 октября 2009

Есть пакетный файл, который содержит все, что вам нужно для запуска вашего Java-приложения.

например. "javaw-classpath path-of-jar"

System.Diagnostics.Process.Start("batchfile");

Подробнее здесь

Для вопроса 2, Предложение elder_george должно сработать.

Если папка java / bin находится в пути к среде, вы можете попробовать:

System.Diagnostics.Process.Start("java.exe", "-version");

Если не исключение, возможно, у вас есть действительный файл java.exe.

0 голосов
/ 24 октября 2009
  • Используйте Process для запуска java процесса передачи аргументов -jar yourjar.jar.

  • JDK обычно устанавливается в c:\Program Files\Java\jdk.... проверьте, существует ли эта папка, она должна соответствовать большинству случаев. Или проверьте HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit в реестре.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...