2012-03-09 14 views
5

मुझे पता है कि मेरे आरसीपी एप्लिकेशन को निर्यात करना संभव है, एक .exe फ़ाइल बनाएं और इसे "Runtime.getRuntime()। Exec()" कमांड के साथ चलाएं, लेकिन, मैं लॉन्च करना चाहता हूं एक जावा क्लास की मुख्य विधि से मेरा आरसीपी एप्लीकेशन एक्सई बनाने और कॉल किए बिना। क्या यह संभव है?मुख्य से आरसीपी एप्लिकेशन लॉन्च करें()

उत्तर

5

मैं, यह वास्तव में आप के लिए उपयोगी है यकीन नहीं है यह कारण है कि आप एक और IApplication शुरू करने की आवश्यकता पर निर्भर करता है, लेकिन फिर भी ...

मैं विकि पृष्ठ के बारे में Equinox Application Model Demo जो दर्शाता है कि कैसे OSGi आवेदन व्यवस्थापक पढ़ें सेवा को नियंत्रित करने के लिए सेवा का उपयोग किया जा सकता है। जैसा कि वर्णन किया गया है आप सीवीएस से कोड प्राप्त कर सकते हैं। आप org.eclipse.equinox.internal.app.AppCommands कक्षा में कोड भी देख सकते हैं, अर्थात् _startApp() विधि में, जो पहले से ही परिभाषित अनुप्रयोग शुरू करता है, और ओएसजीआई कंसोल में "startApp" कमांड का कार्यान्वयन है।

ध्यान दें कि आपको ग्रहण उदाहरण शुरू करने के तरीके को समायोजित करने की आवश्यकता हो सकती है, जिससे आप अन्य एप्लिकेशन शुरू करना चाहते हैं (उदा। Eclipse.application.registerDescriptors रनटाइम विकल्प see the help page)।

आशा है कि इससे मदद मिलती है!

2

मान लीजिए कि आपके पास पहले से ही ओएसजीआई चल रहा है, @Urbi का उत्तर सही है। यदि आपको ओएसजीआई शुरू करने की भी आवश्यकता है, तो सावधान रहें कि आप इसे अपने मुख्य थ्रेड से करते हैं - यानी आपके आवेदन का प्रारंभिक धागा - क्योंकि SWT अन्यथा सभी प्लेटफ़ॉर्म पर ठीक से काम नहीं करेगा।

ओएसजीआई और आपके आवेदन को शुरू करने के तरीके के लिए org.eclipse.core.runtime.adaptor.EclipseStarter पर एक नज़र डालें।

2

बस बंडल org.eclipse.equinox.launcher का कांटा बनाएं, इसमें स्थिर मुख्य कार्य (उर्फ प्रविष्टि बिंदु) के साथ एक वर्ग मुख्य है जो रन-फ़ंक्शन में प्रतिनिधि होता है। आप इसे रन-फ़ंक्शन को ओवरराइट कर सकते हैं और जो भी करना चाहते हैं उसे कर सकते हैं।

संबंधित मुद्दे