मैं अपने जावा प्रोग्राम को .exe फ़ाइल में कैसे बदल सकता हूं? [बन्द है]


500

अगर मेरे पास जावा स्रोत फ़ाइल (* .java) या एक वर्ग फ़ाइल (* .class) है, तो मैं इसे .exe फ़ाइल में कैसे कर सकता हूं?

मुझे अपने प्रोग्राम के लिए इंस्टॉलर की भी आवश्यकता है।


1
एप्लेट के लिए सरल हैक: मुख्य और "सिस्टम" जैसे सिस्टम ("एप्लेटव्यूअर java_src_file") को कार्य करने के लिए एक कॉल के साथ एक सी कोड लिखें;
मधुसूदन पी।

1
क्या .exe एक JRE के साथ विंडोज़ सिस्टम में काम करता है?
अर्पित अग्रवाल 23

बस पूर्ण होने के लिए (स्वयं इसे आज़माया नहीं क्योंकि हमें exe आवरण की आवश्यकता थी, इंस्टॉलर की नहीं): javapackager ( docs.oracle.com/javase/8/docs/technotes/guides/deploy/… ) का उपयोग करके इंस्टॉलर पैकेज भी बनाए जा सकते हैं। । EXE या MSI इंस्टॉलर बनाने के लिए, अतिरिक्त रूप से Inno सेटअप या WiX को डाउनलोड और इंस्टॉल करना होगा।
ऐर

हो सकता है NSIS भी मदद करे; nsis.sourceforge.net/Java_Launcher
baris.aydinoz

जवाबों:


324

javapackager

जावा पैकेगर टूल वितरण के लिए जावा और जावाएफ़एक्स अनुप्रयोगों को संकलित करता है, पैकेज करता है और तैयार करता है। Javapackager कमांड कमांड-लाइन संस्करण है।

- ओरेकल के प्रलेखन

javapackagerJDK साथ उपयोगिता जहाज। यह -native exeझंडे के साथ .exe फ़ाइलें , कई अन्य चीज़ों के बीच उत्पन्न कर सकता है ।

WinRun4J

WinRun4j खिड़कियों के लिए एक जावा लांचर है। यह javaw.exe का एक विकल्प है और निम्नलिखित लाभ प्रदान करता है:

  • Classpath, मुख्य वर्ग, vm args, प्रोग्राम args को निर्दिष्ट करने के लिए INI फ़ाइल का उपयोग करता है।
  • कस्टम निष्पादन योग्य नाम जो कार्य प्रबंधक में दिखाई देता है।
  • अतिरिक्त JVM अधिक लचीली मेमोरी उपयोग के लिए तर्क देता है।
  • कस्टम आइकन के लिए अंतर्निहित आइकन प्रतिकृति।
  • [अधिक बुलेट बिंदुओं का पालन करें]

- WinRun4J का वेबपेज

WinRun4J एक ओपन सोर्स यूटिलिटी है। इसके कई हैं विशेषताएं हैं।

packr

विंडोज, लिनक्स और मैक ओएस एक्स पर वितरण के लिए अपने JAR, परिसंपत्तियों और एक JVM को पैकेज करता है, इसे एक देशी एप्लिकेशन की तरह प्रदर्शित करने के लिए एक देशी निष्पादन योग्य फ़ाइल जोड़ देता है। जीयूआई अनुप्रयोगों के लिए पैकर सबसे उपयुक्त है।

- पैकर README

packr एक और ओपन सोर्स टूल है।

JSmooth

JSmooth एक जावा निष्पादन योग्य आवरण है। यह आपके जावा अनुप्रयोगों के लिए देशी विंडोज लॉन्चर (मानक .exe) बनाता है। यह java परिनियोजन को बहुत स्मूथ और उपयोगकर्ता के अनुकूल बनाता है, क्योंकि यह किसी भी स्थापित जावा वीएम को अपने आप में खोजने में सक्षम है।

- JSmooth की वेबसाइट

JSmooth खुला स्रोत है और इसमें विशेषताएं हैं, लेकिन यह बहुत पुराना है। आखिरी रिलीज 2007 में हुई थी।

JexePack

JexePack एक कमांड लाइन टूल (स्वचालित स्क्रिप्टिंग के लिए बढ़िया) है जो आपको अपने जावा एप्लिकेशन (क्लास फाइल्स) को पैकेज करने की अनुमति देता है, वैकल्पिक रूप से अपने संसाधनों (जैसे GIF / JPG / TXT / etc) के साथ, एक ही संकुचित 32-बिट Windows EEAL में , जो सूर्य के जावा रनटाइम पर्यावरण का उपयोग करता है। कंसोल और विंडो अनुप्रयोग दोनों समर्थित हैं।

- JexePack की वेबसाइट

JexePack ट्रायलवेयर है। उत्पादन के उपयोग के लिए भुगतान की आवश्यकता होती है, और इस उपकरण के साथ बनाई गई exe फाइलें बिना भुगतान के "रिमाइंडर" प्रदर्शित करेंगी। साथ ही आखिरी रिलीज 2013 में हुई थी।

InstallAnywhere

InstallAnywhere डेवलपर्स के लिए किसी भी प्लेटफ़ॉर्म के लिए पेशेवर इंस्टॉलेशन सॉफ़्टवेयर बनाना आसान बनाता है। InstallAnywhere के साथ, आप तेज़ी से उद्योग परिवर्तनों के लिए अनुकूल होंगे, तेज़ी से बाज़ार में उतरेंगे और एक आकर्षक ग्राहक अनुभव प्रदान करेंगे। और जहाज से पहले अपनी परियोजना के ओएसएस घटकों की भेद्यता को जानें।

- InstallAnywhere की वेबसाइट

InstallAnywhere एक व्यावसायिक / एंटरप्राइज़ पैकेज है जो जावा-आधारित कार्यक्रमों के लिए इंस्टॉलर बनाता है। यह शायद .exe फ़ाइलें बनाने में सक्षम है।

निष्पादन योग्य JAR फ़ाइलें

.Exe फ़ाइलों के विकल्प के रूप में, आप एक JAR फ़ाइल बना सकते हैं जो JAR मेनिफ़ेस्ट में एक प्रविष्टि बिंदु जोड़कर स्वचालित रूप से डबल-क्लिक होने पर चलती है ।


अधिक जानकारी के लिए

इस विषय पर जानकारी का एक उत्कृष्ट स्रोत एक्सेलसियर का लेख " कन्वर्ट जावा टू एक्सई - क्यों, कब, कब नहीं और कैसे " है।

साथी लेख " बेस्ट जेएआर टू एक्सई कन्वर्शन टूल्स, फ्री एंड कमर्शियल " भी देखें।


यह ग्रहण और Jsmooth का उपयोग करना बेहतर है। इन स्टेप्स को फॉलो
Maria Irudaya Regilan J

मेरी स्थिति के लिए इनमें से कोई काम करेगा? stackoverflow.com/questions/56674075/…
बंदूकें

इसे आज़माएँ: javaexe.free.fr/html/en/JavaExe.html
CamelTM

112

Launch4j

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

- लॉन्च 4 जे की वेबसाइट


35

अद्यतन: GCJ मर चुका है। इसे 2016 में आधिकारिक रूप से जीसीसी परियोजना से हटा दिया गया था । इससे पहले भी, इसे व्यावहारिक रूप से सात साल के लिए छोड़ दिया गया था, और किसी भी मामले में यह कभी भी पर्याप्त रूप से पूरा नहीं हुआ था। एक व्यवहार्य वैकल्पिक जावा कार्यान्वयन के रूप में सेवा करने के लिए ।

एक और जावा AOT कंपाइलर खोजें।

GCJ: जावा के लिए GNU कंपाइलर निष्पादन कोड को मूल मशीन कोड में संकलित कर सकता है, जिसमें विंडोज निष्पादन योग्य भी शामिल है।

हालांकि GCJ में सब कुछ GCJ के तहत समर्थित नहीं है, विशेष रूप से GUI घटक (देखें कि Java API का समर्थन क्या है? समर्थन कितना पूर्ण है? FAQ से प्रश्न )। मैंने GCJ का अधिक उपयोग नहीं किया है, लेकिन मैंने कंसोल अनुप्रयोगों के साथ जो सीमित परीक्षण किया है, वह ठीक लगता है।

एक स्टैंडअलोन निष्पादन योग्य बनाने के लिए GCJ का उपयोग करने का एक नकारात्मक पहलू यह है कि परिणामी EXE का आकार काफी बड़ा हो सकता है। एक बार मैंने जीसीजे में एक तुच्छ सांत्वना अनुप्रयोग संकलित किया और परिणाम 1 एमबी के बारे में एक निष्पादन योग्य था। (इसके आस-पास ऐसे तरीके हो सकते हैं जिनके बारे में मुझे जानकारी नहीं है। एक अन्य विकल्प निष्पादन योग्य संपीड़न कार्यक्रम होगा।)

ओपन-सोर्स इंस्टॉलर्स के संदर्भ में, नलसॉफ्ट स्क्रिप्टेबल इंस्टाल सिस्टम एक स्क्रिप्टेबल इंस्टॉलर है। यदि आप उत्सुक हैं, तो JRE की उपस्थिति का पता लगाने और आवश्यक JRE स्थापित नहीं होने पर इसे स्वचालित रूप से स्थापित करने के लिए उपयोगकर्ता द्वारा योगदान किए गए उदाहरण हैं । (बस आपको बताने के लिए, मैंने पहले NSIS का उपयोग नहीं किया है।)

जावा अनुप्रयोगों को स्थापित करने के लिए NSIS का उपयोग करने के बारे में अधिक जानकारी के लिए, कृपया इस प्रश्न के लिए मेरी प्रतिक्रिया पर एक नज़र डालें कि " एप्लिकेशन वितरित करने का सबसे अच्छा तरीका क्या है? "


2
प्रोजेक्ट वास्तव में मर चुका है, जैसा कि मैं देख सकता हूं। मुख्य पृष्ठ पर कोई खबर नहीं
व्लादिस्लाव रैस्ट्रोसनी

GNU जावा विकास बहुत ज्यादा OpenJDK में चला गया है, क्योंकि गैर-ओरेकल स्रोत सत्यापन के लिए TCK तक पहुँच प्राप्त नहीं कर सके।
Thorbjørn Ravn Andersen

25

आप निम्न कोड के साथ एक बैच फ़ाइल बना सकते हैं:

start javaw -jar JarFile.jar

और .bat को .exe कनवर्टर का उपयोग करके .bat को .exe में परिवर्तित करें।


2
एक अच्छा आवरण या तो एक JRE लाता है या यदि आवश्यक हो तो इसे स्थापित करता है और त्रुटि स्थितियों को संभालता है।
थोरबजोरन रावन एंडरसन

16

हम Install4J का उपयोग कर रहे हैं विंडोज या यूनिक्स वातावरण के लिए इंस्टालर बनाने के लिए का हैं।

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

  • इंस्टॉलर + लांचर
  • विंडोज़ या यूनिक्स
  • जावा में स्क्रिप्ट योग्य
  • चींटी का काम
  • अनुकूलन मानक पैनल और कार्यों के बहुत सारे
  • वैकल्पिक रूप से एक JRE शामिल या डाउनलोड करता है
  • विंडोज़ सेवाएं भी लॉन्च कर सकते हैं
  • विभिन्न भाषाएं

मुझे लगता है कि Launch4J उसी कंपनी (सिर्फ लॉन्चर - नो इंस्टॉलर) से है।

पुनश्च: दुख की बात है कि मुझे इस समर्थन के लिए भुगतान नहीं मिल रहा है। मुझे वह टूल पसंद है।


15

नवीनतम जावा वेब स्टार्ट को अच्छे ऑफ़लाइन संचालन के साथ-साथ "स्थानीय स्थापना" की अनुमति देने के लिए बढ़ाया गया है। यह देखने लायक है।

EDIT 2018: जावा वेब स्टार्ट अब नए JDK के साथ बंडल नहीं किया गया है। इसके बजाय Oracle "अपने ऐप को स्थानीय रूप से संलग्न JRE" मॉडल के साथ "परिनियोजित करने" की ओर धकेल रहा है।


जाहिर तौर पर JWS की सुरक्षा इतनी कड़ी कर दी गई है, कि इसे चलाने के लिए पहले की तुलना में बहुत अधिक प्रयास की आवश्यकता है। यह अभी भी इंस्टॉलरों के लिए उपयोगी हो सकता है, हालांकि।
थोरबजर्न रेवन एंडरसन

9

यदि आपको अपना पूरा आवेदन देशी कोड यानी EXE प्लस DLL में बदलना है, तो ExcelsiorJET है । मैंने पाया कि यह अच्छी तरह से काम करता है और एक JRE बंडल करने का विकल्प प्रदान करता है।


हालांकि महंगा है।
मोर्दकै


6

मैं कहूंगा कि लॉन्च 4 जे एक जावा स्रोत कोड (.java) को .exe फ़ाइल में परिवर्तित करने का सबसे अच्छा उपकरण है। आप वितरण के लिए इसके साथ एक jre बंडल भी कर सकते हैं और exe को भी आइकॉनिक किया जा सकता है। यद्यपि एप्लिकेशन का आकार बढ़ता है, लेकिन यह सुनिश्चित करता है कि उपयोगकर्ता पूरी तरह से इंस्टॉल नहीं होने पर भी एप्लिकेशन पूरी तरह से काम करेगा। यह भी सुनिश्चित करता है कि आप अपने ऐप के लिए विशिष्ट jre प्रदान करने में सक्षम हैं बिना उपयोगकर्ता इसे अलग से इंस्टॉल किए बिना। लेकिन दुर्भाग्य से, जावा अपना महत्व खो देता है। इसके मल्टी प्लेटफॉर्म सपोर्ट को पूरी तरह से नजरअंदाज कर दिया गया है और अंतिम ऐप केवल विंडोज़ के लिए ही सपोर्टेड है। लेकिन यह कोई बड़ी बात नहीं है, अगर आप केवल विंडोज उपयोगकर्ताओं के लिए खानपान कर रहे हैं।


5

आप जेनेल का उपयोग कर सकते हैं । यह अंतिम एप्लिकेशन लॉन्चर या सर्विस लॉन्चर (4.x से उपलब्ध) के रूप में काम करता है।


4

वैकल्पिक रूप से, आप कुछ जावा-टू-सी अनुवादक (जैसे, जेसीजीओ ) का उपयोग कर सकते हैं और उत्पन्न सी फ़ाइलों को लक्ष्य प्लेटफ़ॉर्म के लिए एक देशी बाइनरी (.exe) फ़ाइल में संकलित कर सकते हैं।


2
मैं इस पद्धति के बहाने बहुत अविश्वसनीय हूं। मुझे यह विश्वास करने के लिए इसे देखना होगा (इस तथ्य के बारे में सोचें कि अधिकांश जावा कोड जेआरई के लिए एपीआई कॉल है, और यह सब सी पर मौजूद नहीं है, भाषा कैसे काम करती है, इस अंतर को कभी नहीं बताती)।
कैमिलो मार्टिन

3

मुझे एक java प्रोग्राम को a .exe अनुप्रयोग में कनवर्ट करने के खिलाफ माफ किया जा सकता है और मेरे पास मेरे कारण हैं। मेजर एक है कि एक जावा प्रोग्राम को आईडीई के बहुत से जार फ़ाइल में संकलित किया जा सकता है। जब प्रोग्राम .jar प्रारूप में होता है, तो यह .exe के विपरीत कई प्लेटफार्मों में चल सकता है। जो केवल बहुत ही सीमित वातावरण में चलेगा। मैं आइडिया के लिए हूं कि जावा प्रोग्राम्स को तब तक एक्सयू में परिवर्तित नहीं किया जाएगा जब तक कि यह बहुत ही नेकलेस न हो। कोई भी हमेशा .bat फाइलें लिख सकता है जो जावा प्रोग्राम को चलाता है जबकि यह जार फाइल है।

अगर यह वास्तव में इसे निर्वासित करने के लिए परिवर्तित करने के लिए नेकसेरी है, तो Jar2Exe कनवर्टर चुपचाप ऐसा करता है और एक पुस्तकालयों को संलग्न कर सकता है जो मुख्य अनुप्रयोग के साथ संकलित हैं।


बात यह है, जावा की शक्ति पोर्टेबिलिटी है, लेकिन बहुत से लोगों को बस एक बुनियादी खिड़कियों की जरूरत है। व्यक्तिगत रूप से, मुझे जावा की अवधारणा बहुत पसंद है ... लेकिन अपने उपयोगकर्ताओं को एक जेआरई डाउनलोड करने के बिना, मेरे द्वारा चलाए जा सकने वाले कुछ वितरित करना चाहते हैं।
बालमीपोर 13

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.