2010-07-30 16 views
20

जैसा कि पूछा गया और उत्तर दिया गया here, पाइथन के पास इंस्टॉलरों के बिना तैनाती का एक उपयोगी तरीका है। क्या जावा एक ही काम कर सकता है?jre इंस्टॉल किए बिना जावा चल रहा है?

  • क्या जावा स्थापित किए बिना जावा की जार फ़ाइल चलाने का कोई तरीका है?
  • क्या कोई उपकरण java2exe (win32), java2bin (linux) या java2app (mac) जैसा कोई उपकरण है?
+0

इसी प्रकार का विषय: http://stackoverflow.com/questions/664858/how-can-you-package-an-executable-jar-with-a-portable-jre – h3xStream

उत्तर

14

आप इसके लिए Launch4j का उपयोग कर सकते हैं। अच्छी तरह से प्रलेखित और उपयोग करने में आसान है। जबकि परिणामी कार्यक्रम को अभी भी जेआरई चलाने की जरूरत है, आपको लक्ष्य प्रणाली पर जेआरई स्थापित करने की आवश्यकता नहीं है। आप इसे अपने आवेदन के साथ कॉपी कर सकते हैं और बता सकते हैं कि लॉन्च 4j इसे ढूंढना था या बस इसे बाकी सब कुछ के साथ लपेटना था।

+1

जेआरई फाइलें कहां हैं? मैक के साथ मैंने/सिस्टम/लाइब्रेरी/फ़्रेमवर्क/जावावाइम.फ्रेमवर्क/वर्जन/1.6.0/* पाया, और पीसी के साथ मुझे जावा/जेआर 6/lib मिला। क्या मुझे उन सभी फाइलों की प्रतिलिपि बनाना है? – prosseek

+1

आपको उपदिर संरचना को बनाए रखने वाले दो subdirs jre6/lib और jre6/bin को कॉपी करने की आवश्यकता है। और लॉन्च 4j को कहां ढूंढें, निष्पादन योग्य डीआईआर से रिश्तेदार पथ के रूप में सर्वश्रेष्ठ। व्यक्तिगत रूप से मैंने अपने निष्पादन योग्य के बगल में जेरे नामक एक उपदीर में बिन और lib dirs डाल दिया। – haffax

-2

आप GCJ के साथ कुछ भाग्य प्राप्त करने में सक्षम हो सकते हैं - मैंने इसे स्वयं नहीं किया है।

+1

यह कभी काम नहीं करेगा। – TheLQ

0

आप अपने आवेदन के अंदर जेआरई को जोड़ सकते हैं और अपने आवेदन के लिए सेटअप या स्थापना बना सकते हैं।

+7

"यह सरल कैलकुलेटर ऐप 26 एमबी क्यों है?" – TheLQ

+1

अगर मुझे पता चला कि एक प्रोग्राम ने मेरी सहमति के बिना जावा पर एक सुरक्षा खतरे को गुप्त रूप से स्थापित किया है, तो मैं बहुत क्रोधित होगा –

0

आप यह देखना चाहते हैं कि ग्रहण कैसे करता है - इसमें मूल .exe है जो स्थानीय (स्थापना के लिए) जेआरई का उपयोग कर सकता है।

4

देशी निष्पादन योग्य बनाने के लिए, आप Excelsion Jet का उपयोग कर सकते हैं, जो जावा को देशी कोड में संकलित करता है। हमने इसे काम पर एक परियोजना के लिए इस्तेमाल किया, और हमें मूल स्रोत कोड में शून्य संशोधन करना पड़ा (जिसने सूर्य के जेडीके को लक्षित किया)।

+1

अक्सर पूछे जाने वाले प्रश्न: एक्सेलसियर जेईटी विंडोज एक्सईई/लिनक्स बाइनरी में जावा अनुप्रयोगों का सिर्फ एक पैकेजर नहीं है। यह वास्तव में आपकी जावा क्लास फ़ाइलों को देशी x86 (IA-32) निर्देशों में संकलित करता है। परिणामस्वरूप निष्पादन योग्यों को एक्सेलसियर जेट रनटाइम चलाने की आवश्यकता है, लेकिन सूर्य जेआरई नहीं। – TheLQ

+0

"परिणामस्वरूप निष्पादन योग्यों को एक्सेलसियर जेट रनटाइम चलाने की आवश्यकता है"। यह सच है, लेकिन जेनरेट बाइनरी में इस रनटाइम को एम्बेड करना भी संभव है। बाइनरी तब आत्मनिर्भर है। इस प्रक्रिया में, मेरा मानना ​​है कि संकलित अनुप्रयोग में उपयोग किए जाने वाले हिस्सों को केवल रखने के लिए रनटाइम को पट्टी करना संभव है। – barjak

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