Napisałem kilka prostych aplikacji Java o nazwach A.jar, B.jar.
Teraz chcę napisać program Java z graficznym interfejsem użytkownika, aby użytkownik mógł nacisnąć przycisk A, aby wykonać A.jar i przycisk B, aby wykonać B.jar.
Chcę również wyprowadzić szczegóły procesu wykonywania w moim programie GUI.
Jakieś sugestie?
java
jar
executable-jar
winsontan520
źródło
źródło
Odpowiedzi:
Jeśli dobrze rozumiem, wygląda na to, że chcesz uruchomić słoiki w oddzielnym procesie z poziomu aplikacji graficznej w języku Java.
Aby to zrobić, możesz użyć:
Zawsze dobrą praktyką jest buforowanie wyniku procesu.
źródło
Runtime
obiekt tej aplikacji Java?.jar nie jest wykonywalny. Utwórz instancję klas lub wywołaj dowolną metodę statyczną.
EDYCJA: Dodaj wpis klasy głównej podczas tworzenia pliku JAR.
> p.mf (treść p.mf)
Użyj klasy Process i jej metod,
źródło
Mam nadzieję że to pomoże:
źródło
Jeśli jar znajduje się w Twojej ścieżce klas i znasz jego klasę główną, możesz po prostu wywołać klasę główną. Na przykładzie DITA-OT:
Zauważ, że spowoduje to, że podrzędny słoik będzie współdzielił przestrzeń pamięci i ścieżkę klas z twoim słoikiem, z całym potencjałem zakłóceń, które mogą powodować. Jeśli nie chcesz, aby te rzeczy były zanieczyszczone, masz inne opcje, jak wspomniano powyżej - a mianowicie:
Runtime.getRuntime.exec(...)
(który całkowicie izoluje jar, ale ma normalne pułapki „znajdź aplikację”, „poprawne unikanie ciągów znaków”, „WTF specyficzne dla platformy” i „Wątki systemowe OMG” związane z uruchamianiem poleceń systemowych.źródło
Poniższe działa, uruchamiając jar za pomocą pliku wsadowego, w przypadku gdy program działa samodzielnie:
W pliku batchfile.bat możemy wtedy powiedzieć:
źródło
Jeśli korzystasz z java 1.6, możesz również wykonać następujące czynności:
źródło