2011-01-19 16 views
5

मैं जावा वातावरण के संदर्भ से एक .NET अनुप्रयोग (मोनो के साथ संगत) शुरू करना चाहता हूं।मैं लिनक्स, मैक और विंडोज पर जावा से .NET एप्लिकेशन कैसे शुरू कर सकता हूं?

मेरा अनुमान है कि मुझे किसी भी तरह से पता लगाना होगा कि क्या मोनो स्थापित है, स्थान ढूंढें और पैरामीटर के रूप में .NET अनुप्रयोग पथ का उपयोग करना शुरू करें।

लेकिन ऐसा करने का एक मजबूत तरीका क्या है? या कोई बेहतर तरीका है?

शायद मुझे संदर्भ को स्पष्ट करना चाहिए: जावा भाग एक सीमित वातावरण के साथ एक पर्यावरण में प्लगइन के रूप में चल रहा है, इसलिए मैं वास्तव में कॉन्फ़िगरेशन फ़ाइल या उपयोगकर्ता-इंटरफ़ेस की आवश्यकता के बिना एक रास्ता खोजना पसंद करूंगा।

+1

"अनुप्रयोग में एक विन्यास विकल्प के रूप में मोनो निष्पादक के लिए पथ है" गिनती करता है? –

+0

वास्तव में इसे स्वचालित रूप से पसंद करना पसंद करेंगे। –

उत्तर

1

आप पहले से ही/मोनो पहले से ही स्थापित शुद्ध है और आप exe फ़ाइल पर डबल क्लिक कर सकते हैं और यह, चलाता है तो आप सिर्फ Desktop.open()

के रूप में आसान के रूप में इस्तेमाल कर सकते हैं:

Desktop.getDesktop().open(file); 

देखें यहाँ अधिक जानकारी के लिए: Using the Desktop API in Java SE 6 संपादित

मैं बूट करने के लिए मेरी लिन था ux बॉक्स जहां मेरे पास एक मोनो एप्लिकेशन है और यह बहुत अच्छा काम करता है:

class Launch { 
    public static void main(String ... arg) { 
     new ProcessBuilder("/usr/bin/myapp").start(); 
    } 
} 

दोहराएं, बस महान काम किया!

+0

अच्छी तरह से यह आपके लिनक्स सिस्टम पर आपके मोनो इंस्टॉल पर निर्भर करता है, आपको मोनो को कॉल करना होगा और ऐप को तर्क के रूप में पास करना होगा। –

+1

: -o ओह, उस मामले में आपको बस यह करना होगा: 'नया प्रोसेसबिल्डर ("/ पथ/से/मोनो", "ऐप")। प्रारंभ करें();' और यह है। आप अनुमान लगा सकते हैं कि इसे कहां स्थापित किया जा सकता है। यदि आप कॉन्फ़िगरेशन फ़ाइल का उपयोग नहीं करना चाहते हैं, तो बस इसे कड़ी कोड दें। वास्तव में, यदि निष्पादन योग्य आपके $ PATH में 'नया प्रोसेसबिल्डर ("monoexecutable", "ऐप") का आह्वान कर रहा है। प्रारंभ करें();' पर्याप्त होना चाहिए। क्या आपने पहले से ही कोशिश की है? – OscarRyz

+0

+1 यह उल्लेख करने के लिए कि यह कितना आसान हो सकता है यदि मोनो निष्पादन योग्य पाथ पर होने की उम्मीद है। जावा ऐप में हार्ड-कोड किए गए पथ होने के लिए इसे प्राथमिकता दी जानी चाहिए। –

0

दिलचस्प सवाल! जवाब वैसे भी

आप लिनक्स

चला रहे हैं कि सरल नहीं है

आप निश्चित रूप से मोनो एक CLR निष्पादन

चलाने की आवश्यकता आप Windows

चला रहे हैं

आप खोल के माध्यम से CLR निष्पादन चला सकते हैं या स्थानीय मोनो इंस्टॉलेशन का उपयोग करें (चूंकि मोनो विंडोज़ पर भी चलता है), लेकिन विंडोज

पर मोनो चलाने के बहुत कम कारण हैं इसलिए, मुझे लगता है कि आपको फाई चाहिए जावा में ओएस का पता लगाने (कृपया मुझे कैसे पूछें), और फिर यदि आप लिनक्स चला रहे हैं तो मोनो ढूंढें।

मोनो के मुख्य निष्पादन /usr/bin में आमतौर पर है, लेकिन $PATH में हमेशा होता है, ताकि आप कंसोल से mono Executable.exe चला सकते हैं। यदि आप जावा में ऐसा आदेश नहीं चला सकते हैं, या मोनो पथ में नहीं है, तो आपको निष्पादन योग्य मार्ग प्राप्त करने के लिए whereis mono चलाने की आवश्यकता है।

कोई अन्य विचार नहीं।

+0

यह कठिन नहीं है, मोनो और .net निष्पादन योग्य "प्रोसेसबिल्डर" वर्ग के साथ चलाया जा सकता है, मेरा उत्तर – OscarRyz

+0

हां देखें लेकिन मोनो जावा की तरह काम करता है: आपको "java -jar App.jare" जैसे "java -jar App.jare" चलाया जाना चाहिए, इसलिए यही कारण है कि उसे मोनो निष्पादन योग्य के रास्ते की आवश्यकता है –

0

मुझे नेट या मोनो के बारे में कुछ भी पता नहीं है, लेकिन मुझे लगता है कि, नियमित रूप से नेट एप्लिकेशन शुरू करने के लिए यह बहुत अलग नहीं है, या?

पर्यावरण के साथ इंटरफ़ेस करने के लिए उपयोग की जाने वाली कक्षा java.lang.Runtime है। यह आपको कमांड निष्पादित करने की अनुमति देता है। (.exec-methods)

उचित आदेश बनाने के लिए, java.lang.System पर विभिन्न कार्यक्षमता शायद काम में आ जाएंगी।

यदि यह विकल्प आपके विशेष स्थिति की आवश्यकताओं, JNI अपने ही एकमात्र विकल्प हो सकता है के लिए अपर्याप्त है ...

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

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