2012-09-05 2 views
0

Можно создать дубликат:
Execute another jar in a java programЗапустить программу Java в другую программу

Я пытаюсь запустить банку файл с приложением Java из другого приложения Java, но я не могу получить его работать. Мой код ниже

// run Jar in other java application 
Runtime run=Runtime.getRuntime();   
run.exec("java -jar ManichemManagerRotas BatchProcess 8 2012"); 

Я пытаюсь запустить manichemmanagerrotas.jar с тремя аргументами.

все метод я могу это сделать, но он не может работать до сих пор проблема не может запустить главный класс метод JAR-файла, если у вас есть какие-либо идеи этой проблемы, плз дайте мне переигрывать меня это важная задача для меня

я стараюсь запускать jar-файл, тогда ошибка такова: невозможно получить доступ к jarfile. ManichemManagerRotas

+0

... и это [Выполнить другую банку в java-программе] (http://stackoverflow.com/questions/1320476/execute-another-jar-in-a-java-program) – PrimosK

+0

Попробуйте добавить отсутствующий «.jar» и воспользуйтесь выход процесса ... См. ответы ниже ... – PrimosK

+0

Вам действительно нужно *** читать статью Java World, связанную с информацией ['Runtime.exec()'. страница] (http://stackoverflow.com/tags/runtime.exec/info), прежде чем идти дальше. –

ответ

0

Если вы хотите вызвать класс/функции java из другого класса, сделайте его как банку и добавьте банку в путь создания ваших проектов. В другом классе вы создаете объект класса Jared и вызываете функцию. (Убедитесь, что ваш класс и функция общего доступа)

0

Может быть, вы забыли ввести .jar

run.exec("java -jar ManichemManagerRotas.jar BatchProcess 8 2012"); 
1

Попробуйте добавить недостающую .jar:

Runtime run=Runtime.getRuntime();    
run.exec("java -jar ManichemManagerRotas.jar BatchProcess 8 2012"); 

... и вы должны потреблять технологический выход ...

InputStream in = run.getInputStream(); 
InputStream err = run.getErrorStream(); 
0

Runtime.exec(...) методы возвращают экземпляр java.lang.Process. Просто позвоните в его метод getInputStream().

Process p = run.exec("java -jar ManichemManagerRotas.jar BatchProcess 8 2012"); 
InputStream is = p.getInputStream(); 
0

Если вы хотите просто записать вывод в какой-то файл, не изменяя его, вы можете просто добавить:

> somefile.txt 

в конце «команды»:

run.exec("java -jar ManichemManagerRotas.jar BatchProcess 8 2012 > somefile.txt"); 
Смежные вопросы