2009-04-29 8 views
44

मैं JCreator में एक जावा प्रोग्राम प्रोग्राम किया है, सब कुछ किया जाता है, लेकिन मैं इसे से एक निष्पादन योग्य फ़ाइल बनाना चाहते हैं, यानी मैं जावा वर्गों लोड हो रहा है और उसके बाद के संकलन को क्रियान्वित करते हुए कार्यक्रम चलाने के लिए करना चाहते हैं न, लेकिन इसके बजाय यह है एक स्टैंड अकेले निष्पादन योग्य फ़ाइल के रूप में।मैं निष्पादन योग्य जावा प्रोग्राम कैसे बना सकता हूं?

यह क्या तेज तरीका करना है?

+4

स्टॉवर ओवरफ्लो पर इसके बारे में बहुत सारी पोस्ट हैं। http://stackoverflow.com/questions/80105/whats-the-best-way-to-distribute-java-applications –

उत्तर

1

एक स्क्रिप्ट लिखें और इसे निष्पादन योग्य बनाएं। स्क्रिप्ट क्या आप सामान्य रूप से आदेश पंक्ति पर प्रयोग करेंगे तरह दिखना चाहिए:

java YourClass 

इसका मतलब यह है कि आप पहले से ही अपने जावा फ़ाइलों संकलित और जावा अपने .class फ़ाइलों पा सकते हैं कि है। यदि जावा आपकी .class फ़ाइलों को नहीं ढूंढ पा रहा है, तो आप -classpath विकल्प का उपयोग करके या अपने क्लासस्पैट पर्यावरण चर सेट करने के लिए देख सकते हैं।

5

कमांड लाइन पर, जावा के रूट निर्देशिका में नेविगेट आप निष्पादन करना चाहते हैं फ़ाइलें।

इस आदेश का उपयोग करें:

jar -cvf [name of jar file] [name of directory with Java files] 

यह एक निर्देशिका जार संग्रह में META-INF कहा जाता है पैदा करेगा। इस META-INF में एक फ़ाइल MANIFEST.MF कहा जाता है, किसी पाठ संपादक में इस फ़ाइल को खोलने और निम्न पंक्ति जोड़ें:

Main-Class: [fully qualified name of your main class] 

तो इस आदेश का उपयोग करें:

java -jar [name of jar file] 

और अपने कार्यक्रम होगा चलाने :)

2

आप GCJ इस्तेमाल कर सकते हैं मूल कोड में अपने जावा प्रोग्राम compile करने के लिए।
कुछ समय वे भी एक native version में Eclipse संकलित।

10

पर एक नज़र मैं काफी यकीन है कि तुम क्या मतलब है नहीं कर रहा हूँ ले लो।

लेकिन मुझे लगता है कि आप 2 में से किसी 1 महत्व होता है।

  • आप किसी एक्ज़ीक्यूटेबल .jar फ़ाइल बनाना चाहते

ग्रहण यह वास्तव में आसानी से फ़ाइल कर सकते हैं -> निर्यात और एक जार बना सकते हैं और उचित मुख्य-क्लास का चयन करके उसे जेनरेट करना होगा। तुम्हारे लिए जार विंडोज़ में आपको जावा रनटाइम के साथ .jar को जोड़ना पड़ सकता है। उर्फ पकड़ो नीचे शिफ्ट, राइट "के साथ खुला" पर क्लिक करें फिर अपने JVM करने के लिए ब्राउज़ करें और javaw.exe

  • के साथ संबद्ध बनाने के एक वास्तविक exe फ़ाइल आप की तरह एक अतिरिक्त पुस्तकालय उपयोग करने की आवश्यकता

http://jsmooth.sourceforge.net/ या http://launch4j.sourceforge.net/ एक अच्छा आइकन के साथ एक देशी .exe स्टब बना देगा जो आपके ऐप को बूटस्ट्रैप अनिवार्य रूप से बूटस्ट्रैप करेगा। वे यह भी पता लगाते हैं कि क्या आपके ग्राहक को JVM इंस्टॉल नहीं हुआ है और आपको एक प्राप्त करने के लिए संकेत मिलता है।

0

जैसा कि पहले भी सुझाव दिया गया था, आप अपनी जेएआर फ़ाइल के लिए निष्पादन योग्य बनाने के लिए launch4j देख सकते हैं।इसके अलावा, "जेएक्सपेक" नामक कुछ है जो आपके जार फ़ाइल के आस-पास एक .exe wrapper डाल सकता है ताकि आप इसे फिर से वितरित कर सकें (नोट: क्लाइंट को अपने पीसी पर प्रोग्राम चलाने के लिए जेआरई की आवश्यकता होगी) जीसीजे के साथ बनाए गए एक्सिस इस निर्भरता नहीं है लेकिन प्रक्रिया थोड़ा और अधिक शामिल है।

3

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

इसे कॉन्फ़िगरेशन फ़ाइल की आवश्यकता होती है, लेकिन फिर, इसे हार्ड-कोड किए गए विकल्पों के साथ पुन: संकलित करें और यह कॉन्फ़िगर-कम exe की तरह काम करता है।

55

आप एसडीके के साथ बंडल किए गए jar tool का उपयोग कर सकते हैं और प्रोग्राम का निष्पादन योग्य संस्करण बना सकते हैं।

इस तरह यह किया जाता है।

मैं अपने कमांड प्रॉम्प्ट से परिणाम पोस्ट कर रहा हूं क्योंकि यह आसान है, लेकिन JCreator का उपयोग करते समय भी इसे लागू करना चाहिए।

$cat HelloWorldSwing.java 
    package start; 

    import javax.swing.*; 

    public class HelloWorldSwing { 
     public static void main(String[] args) { 
      //Create and set up the window. 
      JFrame frame = new JFrame("HelloWorldSwing"); 
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

      JLabel label = new JLabel("Hello World"); 
      frame.add(label); 

      //Display the window. 
      frame.pack(); 
      frame.setVisible(true); 
     } 
    } 
    class Dummy { 
     // just to have another thing to pack in the jar 
    } 

बहुत ही सरल है, बस "नमस्ते दुनिया"

वाली एक विंडो दिखाता तो यह संकलन:

सबसे पहले अपने कार्यक्रम बनाने

$javac -d . HelloWorldSwing.java 

दो फ़ाइलों के अंदर बनाया गया था " शुरू करें "फ़ोल्डर डमी.क्लास और HelloWorldSwing.class

$ls start/ 
Dummy.class  HelloWorldSwing.class 

अगला चरण, जार फ़ाइल बनाएं। प्रत्येक जार फ़ाइल में एक मेनिफेस्ट फ़ाइल होती है, जहां निष्पादन योग्य फ़ाइल से संबंधित विशेषताएं हैं।

यह मेरी मैनिफेस्ट फ़ाइल की सामग्री है।

$cat manifest.mf 
Main-class: start.HelloWorldSwing 

बस से बताएं कि मुख्य वर्ग (public static void मैं विधि के साथ एक)

एक बार प्रकट तैयार है, जार निष्पादन शुरू हो जाती है है।

इसमें कई विकल्प हैं, यहां मैं -c-m -f (-c बनाने के लिए जार बनाने के लिए, -एम प्रकट फ़ाइल निर्दिष्ट करने के लिए, -f = फ़ाइल का नाम होना चाहिए ..) और फ़ोल्डर I जार करना चाहता हूँ

$jar -cmf manifest.mf hello.jar start 

इस प्रणाली

enter image description here

आपको लगता है कि फाइल पर क्लिक करें बाद में बस डबल कर सकते हैं पर .jar फ़ाइल बनाता है और यह उम्मीद के रूप में चलाया जाएगा।

enter image description here

JCreator में आप सिर्फ, "उपकरण" मेनू का उपयोग जार बनाने के लिए .jar फ़ाइल बनाने के लिए है, लेकिन मुझे यकीन है कि कैसे प्रकट वहाँ चला जाता है नहीं कर रहा हूँ।

यहां एक वीडियो है जिसके बारे में मैंने पाया है: Create a Jar File in Jcreator

मुझे लगता है कि आप इस "थार" दृष्टिकोण से परिचित होने के बाद इस धागे में पोस्ट किए गए अन्य लिंक के साथ आगे बढ़ सकते हैं।

आप jnlp (जावा नेटवर्क लॉन्चर प्रोटोकॉल) का भी उपयोग कर सकते हैं।

+0

@IlmariKaronen अपडेट किया गया! – OscarRyz

1

जावा वेब स्टार्ट जावा के समृद्ध ग्राहकों को सीधे इंटरनेट के डेस्कटॉप पर स्थापित करने के लिए एक अच्छी तकनीक है (चाहे ओएस विंडोज, मैक या * निक्स है)। यह कई अन्य उपहारों के बीच डेस्कटॉप एकीकरण और स्वचालित अपडेट के साथ आता है।

जेडब्ल्यूएस पर अधिक जानकारी के लिए, JWS info page देखें।

+0

एफवाईआई, * जावा वेब स्टार्ट * और जेएनएलपी जावा 9 में बहिष्कृत हैं और हटाने के लिए स्लेटेड हैं। ओरेकल द्वारा यह [बहिष्करण सूची] (http://www.oracle.com/technetwork/java/javase/9-deprecated-features-3745636.html) देखें, 'जेडीके -81849 9 8 (सार्वजनिक नहीं)' का जिक्र करते हुए: ** * जावा परिनियोजन टेक्नोलॉजीज को बहिष्कृत कर दिया गया है और भविष्य में रिलीज में हटा दिया जाएगा ** जावा ऐप्पल और वेबस्टार्ट कार्यक्षमता, जिसमें ऐप्पल एपीआई, जावा प्लग-इन, जावा ऐप्पल व्यूअर, जेएनएलपी और जावा वेब स्टार्ट शामिल हैं, जिसमें जवाउ उपकरण शामिल हैं, सभी बहिष्कृत हैं जेडीके 9 में और भविष्य में रिलीज में हटा दिया जाएगा। * –

3

Jexecutable जावा प्रोग्राम के लिए विंडोज एक्सई बना सकता है। यह जार को exe फ़ाइल में एम्बेड करता है और आप इसे विंडोज प्रोग्राम की तरह चला सकते हैं।

0

यदि आप नेटबीन का उपयोग कर रहे हैं, तो आप केवल f11 दबाएं और आपकी परियोजना का निर्माण किया जाएगा। डिफ़ॉल्ट पथ प्रोजेक्टफोल्डर \ dist

10

यदि आप ग्रहण का उपयोग कर रहे हैं, तो आप Windows के लिए .exe फ़ाइल प्राप्त करने के लिए नीचे दिए गए 7 चरणों का प्रयास कर सकते हैं।

step1step2step3

अब आप एक जार फ़ाइल है। निष्पादित करने के लिए जावा -jar पथ/jarname.jar का प्रयोग करें।

enter image description here


आप .exe को यह परिवर्तित करना चाहते हैं, तो आप कोशिश कर सकते हैं http://sourceforge.net/projects/launch4j/files/launch4j-3/

STEP5STEP6

Step7: .xml फ़ाइल के लिए एक उपयुक्त नाम दें और क्लिक करें " बचाना"। .xml फ़ाइल मानक है, इसके बारे में चिंता न करें। आपकी निष्पादन योग्य फ़ाइल अब बनाई जाएगी!

+0

लिनक्स और मैकोज़ निष्पादन योग्य कैसे संभालते हैं? किसी भी ओएस पर जार फ़ाइल काम पर डबल क्लिक करेंगे? –

+0

@androiddeveloper एक लंबे समय तक एक जावा वातावरण एक ऑपरेशन सिस्टम के लिए मौजूद है, यह वही काम करेगा। – reporter