Launch4j के साथ एक JRE बंडल कैसे करें?


80

मेरे पास मेरे कंप्यूटर पर Launch4J है और यह एक शानदार कार्यक्रम है। इसकी जिन विशेषताओं में मेरी रुचि है उनमें से एक सामान्य .EXE फ़ाइल में JRE को बंडल करने की क्षमता है। हालाँकि, मुझे ऐसा कोई भी दस्तावेज नहीं मिला है जो यह बताता हो कि ऐसा करने के बारे में कैसे जाना जाए।

मैं EXE के साथ JRE को कैसे बंडल करूं? साथ ही, मुझे चलाने के लिए एक कॉम्पैक्ट, पोर्टेबल जेआरई कहां मिलेगा? ओरेकल पर डाउनलोड लिंक इंस्टॉलर पैकेज के लिए हैं।


5
लॉन्च 4 जे आपको अपने एक्सई के साथ एक जेआरई बंडल करने की अनुमति देता है , इसलिए इसके साथ। आप अपने exe में JRE एम्बेड करने के लिए इसका उपयोग नहीं कर सकते।
१२:१६

इसका क्या मतलब है ...
DKIT

जवाबों:


82

कुछ प्रयासों के बाद आखिरकार मुझे अपने आवेदन में jre बंडल करने के लिए वर्कअराउंड मिल गया है:

मैं अपने एप्लिकेशन को एक ज़िप फ़ाइल के रूप में निम्नलिखित फ़ोल्डर्स के साथ पैकेज करता हूं:

containerFolder
|- jre
      |-bin (in bin there is java.exe)
      |-lib
|- cfg (to save the user configuration, but it's not needed)
|- bin (my application with the .exe and the .jar and all the other stuff)

लॉन्च 4j की xml फ़ाइल में मैं इस तरह से jre कॉन्फ़िगर करता हूं:

<jre>
    <path>../jre</path>
    <opt>-DgvSIG.confDir=../cfg</opt>
</jre>

यहाँ ट्रिक यह है कि रास्ता java.exe फ़ाइल में नहीं है। Jre का पथ .exe की स्थिति के सापेक्ष है और इसे java.exe फ़ाइल से पहले एक फ़ोल्डर में इंगित करना चाहिए

Jre फ़ोल्डर मैं का उपयोग कर रहा हूँ एक विंडोज़ सिस्टम पर स्थापित jre फ़ोल्डर से सिर्फ एक कॉपी और पेस्ट है।


4
इससे मुझे बहुत मदद मिली! डॉक्स इस बारे में बहुत स्पष्ट नहीं हैं ... एक आकर्षण की तरह काम करता है :-)
कोनराड 'ktoso' Malawski

हाय यह पथ क्या है <path> ../ jre </ path> या तो यह मौजूदा पथ है जो C: //..java फ़ोल्डर में है या एक नया जावा JRE इंस्टॉलर जो डाउनलोड किया गया है।
राजरेड्डी पोलामेडी

@RajaReddyPolamReddy आपके .exe फ़ाइल से उस फ़ोल्डर के सापेक्ष पथ है जहाँ jre आपके आवेदक के भीतर स्थित है
फ्रांसिस्को पूगा

9
सवाल JRE बंडल करने के लिए कैसे पूछा में launch4j साथ EXE। यह उत्तर दिखाता है कि लॉन्च 4j को कैसे बताएं कि एक विशिष्ट JRE का उपयोग करें जिसे आपने अपने EXE के साथ बंडल किया है , लेकिन इसके अंदर नहीं। यह सबसे अच्छा लगता है जिसे लॉन्च 4 जे के साथ किया जा सकता है। (नीचे एक अन्य उत्तर में एक इंस्टॉलर बनाने का एक तरीका दिखाया गया है जो तब आपके EXE और JRE दोनों को स्थापित करेगा, लेकिन JRE EXE में नहीं होगा।)
21

1
और JDK11 के बारे में क्या है जो एक JRE के साथ नहीं आता है?
पनागिस

12

मैंने निम्नलिखित कार्य किया और इसने Ver4j 3.11 का उपयोग करके मेरे लिए काम किया:

  1. मेरे आवेदन के लिए एक नया फ़ोल्डर बनाया (उदाहरण के लिए MyApp कहा जाता है)।
  2. जावा फाइल डिस्टर्ब फोल्डर से जार फाइल को MyApp के साथ-साथ कामेच्छा फोल्डर के साथ कॉपी करता है।
  3. मेरे अनुप्रयोग फ़ोल्डर MyApp में jre नामक एक फोल्डर बनाया गया है ताकि अब MyApp फ़ोल्डर में:
    • MyApp.jar
    • lib <- इसमें मेरे java app के लिए आवश्यक पुस्तकालय हैं।
    • JRE
  4. जावा jre फोल्डर (C: \ Program Files (x86) \ Java \ jre7) से बिन और काम करने वाले फ़ोल्डर्स को MyApp \ jre में कॉपी किया गया
  5. लॉन्च 4 जे में सभी आवश्यक विकल्पों को सेट करने के बाद, बंडल किए गए JRE पथ को "jre" पर सेट करें

    Launch4j JRE विकल्प

  6. सुनिश्चित करें कि खोज विकल्पों में "केवल निजी JDK रनटाइम्स का उपयोग करें" चुना गया है।

6

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

  1. अपने JRE फोल्डर से कॉपी libऔर binफोल्डर अपने प्रोजेक्ट डिस्ट फोल्डर में

jar to exe रूपांतरण

  1. लॉन्च 4 जे खोलें और निम्नलिखित सेटिंग दर्ज करें। यहाँ छवि विवरण दर्ज करें

चाल आपको javaw.exe सहित पूर्ण पथ देने की आवश्यकता है।

का आनंद लें!!!!



0

मैंने बस यही किया है। ऊपर स्पष्ट रूप से jre बंडलिंग के लिए विधि का वर्णन करें।

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

लॉन्च 4 जे, बिन / जेआर, संसाधन / बिन / जेआर।

लॉन्च 4 जे, बिन, और संसाधन समान स्तर पर हैं।


0

किसी विशिष्ट JRE के साथ Java एप्लिकेशन को बंडल करने के लिए Launch4J का उपयोग करने का एक कार्यशील उदाहरण https://github.com/vZome/vzome/blob/master/desktop/platform/windows/README.md पर पाया जा सकता है । यह विशेष वितरण लक्ष्य मंच पर पाए गए किसी भी JRE के बजाय बंडल JRE का उपयोग करने के लिए vZome की आवश्यकता के लिए कॉन्फ़िगर किया गया है

उम्मीद है की यह मदद करेगा।


-2

Jre आमतौर पर आपके SDK फ़ोल्डर में पाया जा सकता है। हाँ लिंक ऑनलाइन इंस्टॉलर हैं, लेकिन एक बार यह इंस्टॉल हो जाने के बाद, JRE अब आपके स्थानीय डिस्क पर स्थित है। में स्थित है

${jdk folder}\jre

अगर आप वास्तव में चाहते थे तो जिन हिस्सों से आपको JRE की जरूरत नहीं है, उन्हें मैन्युअल रूप से हटाया जा सकता है (मुझे यकीन नहीं है कि ऑनलाइन उपलब्ध है)।


मैं इसे EXE में कैसे बंडल करूं? मैं जार में सब कुछ पैकेज करने की कोशिश कर रहा हूं ताकि उपयोगकर्ता को जावा स्थापित होने पर मुझे चिंता न हो। मुझे एहसास है कि बस उन्हें जावा डाउनलोड करना शायद सबसे अच्छा विचार है; हालाँकि, मैं अपने सभी परिनियोजन विकल्पों के साथ प्रयोग करना चाहता हूँ।
कोडबनी

3
@CodeBunny अकेले लॉन्च 4j के साथ संभव नहीं है, लेकिन किसी ने एक और अच्छा समाधान पाया: mark.koli.ch/…
Zero3
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.