2011-08-04 13 views
9

मैं नेटबीन में एक साधारण स्विंग एप्लिकेशन लिख रहा हूं और पहली बार उबंटू मशीन पर ऐसा कर रहा हूं।उबंटू (नेटबीन) पर निष्पादन योग्य जार

जैसा कि आप में से कई जानते हैं, नेटबीन स्वचालित रूप से "मुख्य के रूप में सेट" परियोजनाओं के लिए निष्पादन योग्य जेएआर बनाता है।

विंडोज़ पर, आप एक निष्पादन योग्य जेएआर को डबल-क्लिक कर सकते हैं और यह स्वचालित रूप से जेआरई को आमंत्रित करता है और ऐप चलाता है। उबंटू में, .jar फ़ाइल पर डबल-क्लिक करने से फ़ाइल प्रबंधक के बजाय फ़ाइल को खोला जा सकता है। मेरे जेएआर को चलाने के लिए, मुझे या तो इसे राइट-क्लिक करना होगा और "ओपनजेडीके जावा 6 रनटाइम के साथ खोलें" चुनें या इसे कमांड लाइन से लॉन्च करें।

कमांड लाइन से मुझे कोई समस्या नहीं है। हालांकि, जब मैं राइट-क्लिक मेनू से लॉन्च करने का प्रयास है, मैं ऐसी त्रुटि मिलती है:

फ़ाइल MySwingApp.jar निष्पादन योग्य के रूप में चिह्नित नहीं है ...

तो मैं 2 है प्रश्न:

  1. इसे निष्पादन योग्य के रूप में सेट करने के लिए मुझे क्या करना है? क्या मैं एनबी के अंदर ऐसा कुछ कर सकता हूं या क्या मुझे खोल का उपयोग करना है? अगर मुझे खोल के माध्यम से अनुमतियां सेट करनी होंगी, तो क्या यह ऑटो-जनरेटिंग ** निष्पादन योग्य ** जार की एनबी की नीति के साथ संघर्ष नहीं करता है? और निष्पादन योग्य बिट को किसी भी तरह से फ़्लिप करने के लिए मैं किस कमांड का उपयोग करूंगा?!?
  2. क्या यह सिर्फ एक लिनक्स हिचकी है? मैं इस जेएआर को ऐसे दोस्त को भेजना चाहता हूं जो विंडोज चलाता है और मैं चाहता हूं कि वे इसे डबल-क्लिक करें और प्रोग्राम लॉन्च करें

किसी भी उपयोगी सुझाव के लिए धन्यवाद!

+0

"निष्पादन योग्य के रूप में चिह्नित" का अर्थ है कि आपको उस पर एक्स-बिट होना चाहिए। अपने स्थान पर cd'ing के बाद टर्मिनल उपयोग "chmod + x MySwingApp.jar" में। –

+0

धन्यवाद! लेकिन मेरे अन्य सवालों के बारे में क्या? क्या यह हर बार मुझे संकलन करने के लिए करना होगा, या हर जार के लिए मैं बनाना होगा? विंडोज उपयोगकर्ताओं के बारे में क्या है जो मैं मुझे जार देता हूं? – Sarah

+0

यदि आप अपनी जार फ़ाइल को निष्पादन योग्य के रूप में चिह्नित करते हैं तो क्या आप इसे डबल-क्लिक कर सकते हैं और इसे चला सकते हैं? – Paul

उत्तर

5
  1. आपको नेटबीन्स में निष्पादन योग्य जार फ़ाइल प्राप्त करने के लिए मैन्युअल रूप से अपनी बिल्ड प्रक्रिया को ट्विक करने की आवश्यकता होगी। अपने प्रोजेक्ट रूट पर जाएं और build.xml खोलें। हेडर में बिल्ड प्रक्रिया में जोड़ने पर निर्देश हैं। एक लक्ष्य है, "-पोस्ट-जार", जिसे जार के निर्माण के बाद बुलाया जाता है। आपको अपना लक्ष्य संशोधित करने के लिए उस लक्ष्य को बनाने और Ant's chmod कार्य का उपयोग करने की आवश्यकता होगी। एक बार ऐसा करने के बाद जब भी आप उस परियोजना में एक जार फ़ाइल बनाते हैं तो यह घटित होगा।

  2. यह आपके मित्र की विंडोज मशीन पर ठीक होगा, जब तक कि उसके पास एक जेआरई स्थापित हो।

Here is a thread लिनक्स में डबल क्लिक का उपयोग कर जार चलाने के बारे में।

+0

पॉल - धन्यवाद !!! – Sarah

1

जार-फाइल प्रथम श्रेणी निष्पादन योग्य नहीं हैं, और वे अपने निष्पादन योग्य ध्वज को बदलकर जादुई रूप से निष्पादन योग्य नहीं बनते हैं।

आप एक जार निष्पादित हैं, तो आप आदेश चला

java -jar YOURJAR.jar ... 

यह ही है जैसे कि आप दोगुना एक PNG फ़ाइल क्लिक करें, और यह एक पेंटिंग कार्यक्रम

gimp YOUR.png 

में चलाने के लिए उम्मीद आपको अपने पीएनजी को निष्पादन योग्य बनाने की आवश्यकता नहीं है, और यह किसी समस्या का समाधान नहीं करेगा।

इसके बजाय, आपको अपने डेस्कटॉप वातावरण को बताना होगा, जब एक जार या पीएनजी-फाइल पर डबल क्लिक करते हैं, तो आपको इसे विंडोज़ में ऐसा करने के तरीके से लिनक्स पर करना होगा - शायद विंडोज़ पर इंस्टॉलर यह आपके लिए है, क्योंकि आमतौर पर ओएस (विंडोज) पर डेस्कटॉप पर्यावरण (विंडोज) पर है, लेकिन लिनक्स में जीनोम, केडीई, एक्सएफसीई, एलएक्सडीई, फ्लक्सबॉक्स और लाखों और अधिक हैं।

और यह सुनिश्चित नहीं है कि आप इसके साथ क्या करना चाहते हैं। चूंकि जार-फाइल्स पैक किए गए ज़िपफाइल का एक विशेष रूप है, आमतौर पर एक मेनिफेस्ट और कक्षाएं होती हैं, आर्किवेंजर एक झूठा समाधान नहीं है, और इसे निष्पादित करने के बजाय संग्रह की सामग्री दिखाने के लिए बचतकर्ता है।

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

और यदि आपके पास डीई में सही सेटिंग्स हैं, तो आपको नेटबीन्स या किसी अन्य आईडीई को बार-बार बताना होगा, जार-फाइलों के साथ क्या करना है।

0

जार फाइलें मूल रूप से एक ज़िप फ़ाइल हैं, निष्पादन योग्य बनाने के लिए, आपके पास कई अलग-अलग विधियां हैं। सर्वश्रेष्ठ (मेरी राय में) इसे बनाने के लिए चींटी का उपयोग करना है। या आप बस echo "Main-Class: YOUR.MAIN.CLASS" >> Manifest कर सकते हैं और फिर jar -cmf Manifest JARFILENAME.jar INPUTFILES द्वारा अपना जार बना सकते हैं, फिर इसे लिनक्स के तहत निष्पादन योग्य बनाने के लिए, उस पर राइट क्लिक करें और गुणों पर क्लिक करें। फिर अनुमति टैब पर क्लिक करें और execute देखें। या आप जार निर्देशिका में टर्मिनल बीएएमएफ और सीडी हो सकते हैं और chmod +x JARFILE.jar हैप्पी निक्सिंग !!

2

आप कर सकते हैं जावा Ubuntu (और अन्य Linuxes) पर एक देशी बाइनरी की तरह, यह कर्नेल की एक विशेषता है चलाने के लिए पूरा चरणों के साथ एक लेख भर में आया था। कर्नेल को हुक को इस तरह जावा चलाने के लिए आपको binfmt-support पैकेज स्थापित करने की आवश्यकता है।

उबंटू में एक टर्मिनल खोलने और चलाने:

sudo apt-get install binfmt-support

फिर अपने JAR फ़ाइल निष्पादन

टाइप करके

chmod a+x yourjar.jar

तो फिर तुम किसी अन्य द्विआधारी की तरह अपने जार चला सकते हैं बनाने के

yourjar.jar

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