Я использую инструмент Java Record / Replay, и мне нужно запускать приложения Java из моего основного приложения Java.
Мне нужен доступ к EventDispatchThread, чтобы перехватывать события и записывать их, поэтому я запускаю приложение через отражение с помощью (фрагмент кода упрощен):
Class<?> app = Class.forName(mainClass);
Method m = app.getMethod("main", new Class[] { String[].class });
m.invoke(null, new Object[] { new String[] {} });
Ранее я динамически загружал все фляги в путь к классам, и приложение запускается почти идеально.
Проблема возникает, когда приложению требуется доступ к любому файлу и он делает это с относительными путями. Поскольку приложение запускается через мое приложение, путь не совпадает с тем, который запускается по его обычному пути, и файлы не найдены.
Что я могу сделать, чтобы решить эту проблему? динамически менять среду исполнения? есть идеи?