Start javy w javie?

0

Witam

Chce sprawić aby na naciśnięciu przycisku uruchomił mi się inny program w javie, jak to zrobić? czego mam użyć? Troche szukałem na ten temat ale znalazłem tylko to:

Runtime runTime = Runtime.getRuntime();
Process process = runTime.exec("java - jar"+"C:/Program/program.jar");

Oczywiście nie działą, uruchamia tylko aplikacje windowsowe. Prosze o podpowiedz.

Dzięki

0

Zacznijmy od tego, że "java - jar"+"C:/Program/program.jar" da "java - jarC:/Program/program.jar" (nie ma spacji po "-jar").
Lepiej użyj wersji exec, która przyjmuje argumenty jako tablicę.

Nie możesz jednak uruchomić tamtego programu w tym samym procesie (np. wywołać main na klasie z tamtego jara)?

0

Błąd tkwi w argumencie. Nie mam jak tego sprawdzić, ale chyba powinno to być coś w stylu

String[] tab = { "java","-jar","C:\\Katalog\\JakisProgram.jar"};
Runtime runTime = Runtime.getRuntime();
Process process = runTime.exec(tab);
0

Brak tej spacji to pomyłka przy przepisywaniu. Ale dzięki wielkie za podpowiedz.

1

Jak poprzednik - masz tego jara, ktory jest uruchamialny, czyli w manifescie musi miec atrybut Main-Class - podejrzyj jej nazwe, dodaj tego jara do classpath twojej aplikacji, i wywolaj metode main klasy glownej tego drugiego programu. W ten sposob masz wszystko w jednym procesie (no chyba ze tego wlasnie nie chcesz...) i jest latwo.

1 użytkowników online, w tym zalogowanych: 0, gości: 1