我在做一個Java Record/Replay工具,我需要從我的主Java應用程序啓動Java應用程序。 我需要,以攔截事件,並記錄他們訪問EventDispatchThread,所以我通過反射啓動該應用程序使用(代碼片段簡體):從另一個Java應用程序啓動Java應用程序
Class<?> app = Class.forName(mainClass);
Method m = app.getMethod("main", new Class[] { String[].class });
m.invoke(null, new Object[] { new String[] {} });
我以前所有的罐子動態加載到classpath並且應用程序幾乎完美啓動。
當應用程序需要訪問任何文件並使用相對路徑執行時,就會出現該問題。由於應用程序是通過我的應用程序啓動的,因此路徑與從其正常路徑啓動的路徑不同,並且找不到文件。
我能做些什麼來解決這個問題?動態改變執行環境?有任何想法嗎?
我查一下如何爲「的Java代理」,什麼恰好運行代碼手段。雖然我不明白你的括號 – jpsstavares 2010-03-05 17:39:23