अगर मेरे पास जावा स्रोत फ़ाइल (* .java) या एक वर्ग फ़ाइल (* .class) है, तो मैं इसे .exe फ़ाइल में कैसे कर सकता हूं?
मुझे अपने प्रोग्राम के लिए इंस्टॉलर की भी आवश्यकता है।
अगर मेरे पास जावा स्रोत फ़ाइल (* .java) या एक वर्ग फ़ाइल (* .class) है, तो मैं इसे .exe फ़ाइल में कैसे कर सकता हूं?
मुझे अपने प्रोग्राम के लिए इंस्टॉलर की भी आवश्यकता है।
जवाबों:
जावा पैकेगर टूल वितरण के लिए जावा और जावाएफ़एक्स अनुप्रयोगों को संकलित करता है, पैकेज करता है और तैयार करता है। Javapackager कमांड कमांड-लाइन संस्करण है।
- ओरेकल के प्रलेखन
javapackager
JDK साथ उपयोगिता जहाज। यह -native exe
झंडे के साथ .exe फ़ाइलें , कई अन्य चीज़ों के बीच उत्पन्न कर सकता है ।
WinRun4j खिड़कियों के लिए एक जावा लांचर है। यह javaw.exe का एक विकल्प है और निम्नलिखित लाभ प्रदान करता है:
- Classpath, मुख्य वर्ग, vm args, प्रोग्राम args को निर्दिष्ट करने के लिए INI फ़ाइल का उपयोग करता है।
- कस्टम निष्पादन योग्य नाम जो कार्य प्रबंधक में दिखाई देता है।
- अतिरिक्त JVM अधिक लचीली मेमोरी उपयोग के लिए तर्क देता है।
- कस्टम आइकन के लिए अंतर्निहित आइकन प्रतिकृति।
- [अधिक बुलेट बिंदुओं का पालन करें]
- WinRun4J का वेबपेज
WinRun4J एक ओपन सोर्स यूटिलिटी है। इसके कई हैं विशेषताएं हैं।
विंडोज, लिनक्स और मैक ओएस एक्स पर वितरण के लिए अपने JAR, परिसंपत्तियों और एक JVM को पैकेज करता है, इसे एक देशी एप्लिकेशन की तरह प्रदर्शित करने के लिए एक देशी निष्पादन योग्य फ़ाइल जोड़ देता है। जीयूआई अनुप्रयोगों के लिए पैकर सबसे उपयुक्त है।
- पैकर README
packr एक और ओपन सोर्स टूल है।
JSmooth एक जावा निष्पादन योग्य आवरण है। यह आपके जावा अनुप्रयोगों के लिए देशी विंडोज लॉन्चर (मानक .exe) बनाता है। यह java परिनियोजन को बहुत स्मूथ और उपयोगकर्ता के अनुकूल बनाता है, क्योंकि यह किसी भी स्थापित जावा वीएम को अपने आप में खोजने में सक्षम है।
- JSmooth की वेबसाइट
JSmooth खुला स्रोत है और इसमें विशेषताएं हैं, लेकिन यह बहुत पुराना है। आखिरी रिलीज 2007 में हुई थी।
JexePack एक कमांड लाइन टूल (स्वचालित स्क्रिप्टिंग के लिए बढ़िया) है जो आपको अपने जावा एप्लिकेशन (क्लास फाइल्स) को पैकेज करने की अनुमति देता है, वैकल्पिक रूप से अपने संसाधनों (जैसे GIF / JPG / TXT / etc) के साथ, एक ही संकुचित 32-बिट Windows EEAL में , जो सूर्य के जावा रनटाइम पर्यावरण का उपयोग करता है। कंसोल और विंडो अनुप्रयोग दोनों समर्थित हैं।
- JexePack की वेबसाइट
JexePack ट्रायलवेयर है। उत्पादन के उपयोग के लिए भुगतान की आवश्यकता होती है, और इस उपकरण के साथ बनाई गई exe फाइलें बिना भुगतान के "रिमाइंडर" प्रदर्शित करेंगी। साथ ही आखिरी रिलीज 2013 में हुई थी।
InstallAnywhere डेवलपर्स के लिए किसी भी प्लेटफ़ॉर्म के लिए पेशेवर इंस्टॉलेशन सॉफ़्टवेयर बनाना आसान बनाता है। InstallAnywhere के साथ, आप तेज़ी से उद्योग परिवर्तनों के लिए अनुकूल होंगे, तेज़ी से बाज़ार में उतरेंगे और एक आकर्षक ग्राहक अनुभव प्रदान करेंगे। और जहाज से पहले अपनी परियोजना के ओएसएस घटकों की भेद्यता को जानें।
- InstallAnywhere की वेबसाइट
InstallAnywhere एक व्यावसायिक / एंटरप्राइज़ पैकेज है जो जावा-आधारित कार्यक्रमों के लिए इंस्टॉलर बनाता है। यह शायद .exe फ़ाइलें बनाने में सक्षम है।
.Exe फ़ाइलों के विकल्प के रूप में, आप एक JAR फ़ाइल बना सकते हैं जो JAR मेनिफ़ेस्ट में एक प्रविष्टि बिंदु जोड़कर स्वचालित रूप से डबल-क्लिक होने पर चलती है ।
इस विषय पर जानकारी का एक उत्कृष्ट स्रोत एक्सेलसियर का लेख " कन्वर्ट जावा टू एक्सई - क्यों, कब, कब नहीं और कैसे " है।
साथी लेख " बेस्ट जेएआर टू एक्सई कन्वर्शन टूल्स, फ्री एंड कमर्शियल " भी देखें।
Launch4j एक क्रॉस-प्लेटफ़ॉर्म टूल है जिसे हल्के विंडोज़ मूल के निष्पादनयोग्य में जार के रूप में वितरित जावा अनुप्रयोगों को लपेटने के लिए है। निष्पादन योग्य को एक निश्चित JRE संस्करण की खोज के लिए कॉन्फ़िगर किया जा सकता है या एक बंडल का उपयोग किया जा सकता है, और यह रनटाइम विकल्प सेट करना संभव है, जैसे प्रारंभिक / अधिकतम ढेर का आकार। रैपर एक एप्लिकेशन आइकन, एक देशी प्री-जेआरई स्प्लैश स्क्रीन, एक कस्टम प्रोसेस नाम और एक जावा डाउनलोड पेज के माध्यम से बेहतर उपयोगकर्ता अनुभव प्रदान करता है, यदि उपयुक्त JRE नहीं मिल सकता है।
- लॉन्च 4 जे की वेबसाइट
अद्यतन: GCJ मर चुका है। इसे 2016 में आधिकारिक रूप से जीसीसी परियोजना से हटा दिया गया था । इससे पहले भी, इसे व्यावहारिक रूप से सात साल के लिए छोड़ दिया गया था, और किसी भी मामले में यह कभी भी पर्याप्त रूप से पूरा नहीं हुआ था। एक व्यवहार्य वैकल्पिक जावा कार्यान्वयन के रूप में सेवा करने के लिए ।
एक और जावा AOT कंपाइलर खोजें।
GCJ: जावा के लिए GNU कंपाइलर निष्पादन कोड को मूल मशीन कोड में संकलित कर सकता है, जिसमें विंडोज निष्पादन योग्य भी शामिल है।
हालांकि GCJ में सब कुछ GCJ के तहत समर्थित नहीं है, विशेष रूप से GUI घटक (देखें कि Java API का समर्थन क्या है? समर्थन कितना पूर्ण है? FAQ से प्रश्न )। मैंने GCJ का अधिक उपयोग नहीं किया है, लेकिन मैंने कंसोल अनुप्रयोगों के साथ जो सीमित परीक्षण किया है, वह ठीक लगता है।
एक स्टैंडअलोन निष्पादन योग्य बनाने के लिए GCJ का उपयोग करने का एक नकारात्मक पहलू यह है कि परिणामी EXE का आकार काफी बड़ा हो सकता है। एक बार मैंने जीसीजे में एक तुच्छ सांत्वना अनुप्रयोग संकलित किया और परिणाम 1 एमबी के बारे में एक निष्पादन योग्य था। (इसके आस-पास ऐसे तरीके हो सकते हैं जिनके बारे में मुझे जानकारी नहीं है। एक अन्य विकल्प निष्पादन योग्य संपीड़न कार्यक्रम होगा।)
ओपन-सोर्स इंस्टॉलर्स के संदर्भ में, नलसॉफ्ट स्क्रिप्टेबल इंस्टाल सिस्टम एक स्क्रिप्टेबल इंस्टॉलर है। यदि आप उत्सुक हैं, तो JRE की उपस्थिति का पता लगाने और आवश्यक JRE स्थापित नहीं होने पर इसे स्वचालित रूप से स्थापित करने के लिए उपयोगकर्ता द्वारा योगदान किए गए उदाहरण हैं । (बस आपको बताने के लिए, मैंने पहले NSIS का उपयोग नहीं किया है।)
जावा अनुप्रयोगों को स्थापित करने के लिए NSIS का उपयोग करने के बारे में अधिक जानकारी के लिए, कृपया इस प्रश्न के लिए मेरी प्रतिक्रिया पर एक नज़र डालें कि " एप्लिकेशन वितरित करने का सबसे अच्छा तरीका क्या है? "
आप निम्न कोड के साथ एक बैच फ़ाइल बना सकते हैं:
start javaw -jar JarFile.jar
और .bat को .exe कनवर्टर का उपयोग करके .bat को .exe में परिवर्तित करें।
हम Install4J का उपयोग कर रहे हैं विंडोज या यूनिक्स वातावरण के लिए इंस्टालर बनाने के लिए का हैं।
यह उस बिंदु तक आसानी से अनुकूलन योग्य है जहां आप विशेष कार्यों के लिए स्क्रिप्ट लिखना चाहते हैं जो मानक संवादों के साथ नहीं किया जा सकता है। लेकिन भले ही हम इसके साथ विंडोज़ सेवाएं स्थापित कर रहे हैं, हम केवल मानक घटकों का उपयोग कर रहे हैं।
मुझे लगता है कि Launch4J उसी कंपनी (सिर्फ लॉन्चर - नो इंस्टॉलर) से है।
पुनश्च: दुख की बात है कि मुझे इस समर्थन के लिए भुगतान नहीं मिल रहा है। मुझे वह टूल पसंद है।
नवीनतम जावा वेब स्टार्ट को अच्छे ऑफ़लाइन संचालन के साथ-साथ "स्थानीय स्थापना" की अनुमति देने के लिए बढ़ाया गया है। यह देखने लायक है।
EDIT 2018: जावा वेब स्टार्ट अब नए JDK के साथ बंडल नहीं किया गया है। इसके बजाय Oracle "अपने ऐप को स्थानीय रूप से संलग्न JRE" मॉडल के साथ "परिनियोजित करने" की ओर धकेल रहा है।
यदि आपको अपना पूरा आवेदन देशी कोड यानी EXE प्लस DLL में बदलना है, तो ExcelsiorJET है । मैंने पाया कि यह अच्छी तरह से काम करता है और एक JRE बंडल करने का विकल्प प्रदान करता है।
मैं कहूंगा कि लॉन्च 4 जे एक जावा स्रोत कोड (.java) को .exe फ़ाइल में परिवर्तित करने का सबसे अच्छा उपकरण है। आप वितरण के लिए इसके साथ एक jre बंडल भी कर सकते हैं और exe को भी आइकॉनिक किया जा सकता है। यद्यपि एप्लिकेशन का आकार बढ़ता है, लेकिन यह सुनिश्चित करता है कि उपयोगकर्ता पूरी तरह से इंस्टॉल नहीं होने पर भी एप्लिकेशन पूरी तरह से काम करेगा। यह भी सुनिश्चित करता है कि आप अपने ऐप के लिए विशिष्ट jre प्रदान करने में सक्षम हैं बिना उपयोगकर्ता इसे अलग से इंस्टॉल किए बिना। लेकिन दुर्भाग्य से, जावा अपना महत्व खो देता है। इसके मल्टी प्लेटफॉर्म सपोर्ट को पूरी तरह से नजरअंदाज कर दिया गया है और अंतिम ऐप केवल विंडोज़ के लिए ही सपोर्टेड है। लेकिन यह कोई बड़ी बात नहीं है, अगर आप केवल विंडोज उपयोगकर्ताओं के लिए खानपान कर रहे हैं।
वैकल्पिक रूप से, आप कुछ जावा-टू-सी अनुवादक (जैसे, जेसीजीओ ) का उपयोग कर सकते हैं और उत्पन्न सी फ़ाइलों को लक्ष्य प्लेटफ़ॉर्म के लिए एक देशी बाइनरी (.exe) फ़ाइल में संकलित कर सकते हैं।
मुझे एक java प्रोग्राम को a .exe अनुप्रयोग में कनवर्ट करने के खिलाफ माफ किया जा सकता है और मेरे पास मेरे कारण हैं। मेजर एक है कि एक जावा प्रोग्राम को आईडीई के बहुत से जार फ़ाइल में संकलित किया जा सकता है। जब प्रोग्राम .jar प्रारूप में होता है, तो यह .exe के विपरीत कई प्लेटफार्मों में चल सकता है। जो केवल बहुत ही सीमित वातावरण में चलेगा। मैं आइडिया के लिए हूं कि जावा प्रोग्राम्स को तब तक एक्सयू में परिवर्तित नहीं किया जाएगा जब तक कि यह बहुत ही नेकलेस न हो। कोई भी हमेशा .bat फाइलें लिख सकता है जो जावा प्रोग्राम को चलाता है जबकि यह जार फाइल है।
अगर यह वास्तव में इसे निर्वासित करने के लिए परिवर्तित करने के लिए नेकसेरी है, तो Jar2Exe कनवर्टर चुपचाप ऐसा करता है और एक पुस्तकालयों को संलग्न कर सकता है जो मुख्य अनुप्रयोग के साथ संकलित हैं।