2010-04-22 13 views
31

मैं एक जावा अनुप्रयोग जो मैं एक जार फ़ाइल वितरण के बिना को Windows, OSX और लिनक्स वितरित करना चाहते हैं बनाया है। मैं एक .exe कि विंडोज उपयोगकर्ताओं को डराने नहीं होगा मेरी आइकन के साथ पूरा फ़ाइल बनाने के लिए महान विंडोज exe आवरण http://launch4j.sourceforge.net/ इस्तेमाल किया।एक OSX निष्पादन में कनवर्ट .jar?

वहाँ इसी तरह के रैपर है कि मैं OSX/यूनिक्स के लिए उपयोग कर सकते हैं कर रहे हैं? एक महत्वपूर्ण विचार है कि मैं निष्पादन योग्य (विशेष रूप से मैक उपयोगकर्ताओं के लिए) पर मेरे अपने आइकन के लिए चाहते हैं।

धन्यवाद!

उत्तर

30

हाँ, मैक ओएस एक्स पर वहाँ है कि स्थापित किया गया है जब आप स्वतंत्र (यह मानते हुए कि आप पहले से ही मैक ओएस एक्स की एक प्रति के मालिक हैं) स्थापित Xcode Developer Tools एक प्रोग्राम है जो आप के अंदर एक देशी मैक एक जार फ़ाइल बंडल करने की अनुमति देता है Jar Bundler कहा जाता है ओएस एक्स "* .app" एप्लिकेशन बंडल अन्य ऐप्स की तरह एक अच्छा और चमकदार आइकन के साथ।

अद्यतन
JAR बंडलर समाधान के लिए ओएस एक्स के बाद के संस्करणों पर मौजूद नहीं है, तो आप मैन्युअल रूप से एक ओएस एक्स परियोजना है कि जावा को आमंत्रित कर सकते हैं। या, विभिन्न प्रकार के निर्माण प्रणाली एक्सटेंशन हैं जो समान काम करते हैं; उदाहरण के लिए, Gradle के लिए gradle-macappbundle प्लगइन इस तरह के एक आवरण अनुप्रयोग का निर्माण करेगा।

+1

जार बंडलर शेर 10.8.2 के बाद एक्सकोड डेवेलियर उपकरण का हिस्सा नहीं है (http://stackoverflow.com/questions/15375490/why-is-jar-bundler-gone-in-mac-os-x- पहाड़-शेर -10-8-2) – gardenofwine

+0

क्या विंडोज एक्सई इंस्टॉलर बनाने का एक बढ़िया तरीका है? अर्थात। क्या ग्रेबेल के लिए macAppBundle प्लगइन का एक विंडोज एनालॉग है? – hepcat72

5

यदि आपके पास इसे बनाने के लिए मैक नहीं है (या इसे मौजूदा बिल्ड श्रृंखला में एकीकृत करना चाहते हैं), तो आप OS X Application Bundle Plugin for Maven पर एक नज़र रखना चाहेंगे।

यह (यदि लिनक्स या विंडोज पर चलता है) एक ज़िप बनाता है जो उचित मैक एप्लिकेशन के रूप में अनजिप होगा। यदि आप मैक पर मेवेन चलाते हैं, तो यह एक डीएमजी भी बना सकता है।

2

तुम भी JarBundler चींटी कार्य के साथ आपके आवेदन पैकेज कर सकते हैं:

http://informagen.com/JarBundler

<jarbundler dir="release" 
     name="MyApp" 
     mainclass="org.foo.myapp.Main" 
     jar="myapp.jar" /> 
5

JarBundler अप्रचलित है, लेकिन वहाँ एक (बेहतर) आधिकारिक प्रतिस्थापन है: javapackager उपकरण।

ओएसएक्स के लिए, जावा से डीएमजी बनाने के तरीके पर एक सरल, अच्छी तरह से समझाया गया, चरण-दर-चरण ट्यूटोरियल यहां है: http://centerkey.com/mac/java/। अन्य प्लेटफार्मों के लिए, आपको javapackager में उचित स्विच का उपयोग करके उदाहरण को संशोधित करने की आवश्यकता है।

1

गीथब उपयोगकर्ता जोरल 17 ने एक उत्कृष्ट पायथन लिपि बनाई जिसे jar2app कहा जाता है जो यह एक साधारण कमांड के साथ करता है। यह आपको ऐप आइकन को कस्टमाइज़ करने देता है।

https://github.com/Jorl17/jar2app

बस इसे स्थापित करते हैं, निर्देशों का पालन करें, और आप .app फ़ाइल मिलता है।