मैं जावा रिकॉर्ड/रीप्ले टूल कर रहा हूं और मुझे अपने मुख्य जावा ऐप से जावा एप्लिकेशन लॉन्च करने की आवश्यकता है। मैं आदेश की घटनाओं को रोकने और उन्हें रिकॉर्ड करने के लिए EventDispatchThread के लिए उपयोग की जरूरत है, तो मैं (कोड सरलीकृत टुकड़ा) के साथ प्रतिबिंब के माध्यम से ऐप्लिकेशन को लॉन्च करने हूँ:किसी अन्य जावा एप्लिकेशन से एक जावा एप्लिकेशन लॉन्च करें
Class<?> app = Class.forName(mainClass);
Method m = app.getMethod("main", new Class[] { String[].class });
m.invoke(null, new Object[] { new String[] {} });
मैं पहले गतिशील classpath करने के लिए सभी जार लोड और आवेदन लगभग पूरी तरह से लॉन्च हो रहा है।
समस्या तब होती है जब एप्लिकेशन को किसी भी फ़ाइल तक पहुंचने की आवश्यकता होती है और यह सापेक्ष पथ के साथ करता है। चूंकि एप्लिकेशन मेरे आवेदन के माध्यम से लॉन्च किया गया है, इसलिए पथ अपने सामान्य पथ से लॉन्च जैसा नहीं है और फाइलें नहीं मिली हैं।
इस समस्या को हल करने के लिए मैं क्या कर सकता हूं? निष्पादन पर्यावरण को गतिशील रूप से बदलें? कोई विचार?
मैं कैसे एक "जावा एजेंट" और क्या है कि बिल्कुल के रूप में कोड को चलाने के लिए जांच करेंगे माध्यम। मैं आपके कंस्ट्रैसिस को समझ नहीं पाया, हालांकि ... – jpsstavares