Używam narzędzia Java Record/Replay i muszę uruchomić aplikacje Java z mojej głównej aplikacji Java. muszę dostęp do EventDispatchThread w celu przechwytywania zdarzeń i ich zapis, więc jestem uruchomieniu aplikacji poprzez odbicie z fragmentu kodu (uproszczony):Uruchamianie aplikacji java z innej aplikacji java
Class<?> app = Class.forName(mainClass);
Method m = app.getMethod("main", new Class[] { String[].class });
m.invoke(null, new Object[] { new String[] {} });
ja wcześniej dynamicznie załadować wszystkie słoików do ścieżki klasy a aplikacja uruchamia się niemal idealnie.
Problem występuje, gdy aplikacja musi uzyskać dostęp do dowolnego pliku i robi to przy użyciu względnych ścieżek. Ponieważ aplikacja jest uruchamiana przez moją aplikację, ścieżka nie jest taka sama, jak uruchomiona z normalnej ścieżki, a pliki nie zostaną znalezione.
Co mogę zrobić, aby rozwiązać ten problem? dynamicznie zmieniać środowisko wykonywania? jakieś pomysły?
Sprawdzę jak uruchomić kod Java jako „agenta” i co to dokładnie znaczy. Nie zrozumiałem twojego nawiasu, chociaż ... – jpsstavares