2013-06-22 2 views
2

У меня есть программа Java, в которой у меня есть этот код,Запуск баночки из баночки

JOptionPane.showConfirmDialog(null, "TEST"); 
String pathToJar = ClassRewriter.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath()+"ClassRewriter.class"; 
System.out.println(pathToJar); 
ProcessBuilder pb = new ProcessBuilder("javaw "+pathToJar); 
Process process = pb.start(); 

У меня есть программа Java в классе под названием classrewriter, и я пытаюсь запустить эту программу из ее основной метод, но он, похоже, не работает.

+0

Этот вопрос может иметь значение: http://stackoverflow.com/questions/1320476/execute-another-jar-in-a-java-program –

+0

Возможный дубликат [Выполнение другого файла Jar из другой java-программы] (http : //stackoverflow.com/a/6599961/1563878) –

+0

Командная строка должна быть больше похожа на «javax -jar pathToJar» – MadProgrammer

ответ

3
public int runCommand(String command) throws Exception 
    { 
    Process s= Runtime.getRuntime().exec(command); 
    return s.exitValue(); 
} 

Так вы пишете:

runCommand("java -jar "+pathToJar); 

Но это не рекомендуется, так как оно не поддерживается на всех операционных системах (например, Linux или Mac).

Смежные вопросы