2012-05-23 11 views
22

मैं एक जावा .jar आवेदन है कि मैं अपने ग्राहकों को जो मैक या Windows पर हैं को वितरित करना चाहते है। मैं एक उपकरण है जो ऐसा करता है कि जब चलाने मेरी जार फ़ाइल लेता है और क्रमश: एक .dmg और Macs और Windows के लिए एक .exe आवरण में यह लपेटता उपयोग करना चाहते हैं:मैक/विंडोज के लिए जावा एप्लिकेशन को बंडल कैसे करें?

  1. जांच करें कि क्या JRE स्थापित किया गया है; यदि नहीं, तो यह ओरेकल से जेआरई 6 स्थापित करता है। अन्यथा, यह नवीनतम 1.6.x संस्करण में स्थापित जेआरई अद्यतन करता है।
  2. मेरी लिपटे आवेदन करने के लिए प्रारंभ मेनू (Windows में) या अनुप्रयोग फ़ोल्डर (MacOSX में) में एक शॉर्टकट लिंक बनाता है और इसके बाद के संस्करण JRE
  3. का उपयोग कर चलाने के लिए अपने आवेदन की सुविधा देता है विंडोज के लिए आसान "स्थापना रद्द करें आवेदन" का समर्थन करता है। मैक के लिए, हटाने के लिए .app को ट्रैश में खींचें।

वैकल्पिक विशेषताएं:

  1. मंच स्वतंत्र एप्लिकेशन आइकन के लिए समर्थन जार JRE के तर्क के लिए
  2. समर्थन करने के लिए स्वत: अद्यतन के लिए
  3. समर्थन जब मेरे .jar
  4. लिनक्स समर्थन चल (.deb अथवा .rpm)
+1

मुझे लगता है कि पैकेज निर्माता लग रहा है और उन्नत इंस्टालर सब कुछ आप के लिए पूछ रहे हैं कर सकते हैं। मुझे नहीं लगता कि आपको एक ऐसा उपकरण मिल जाएगा जो विंडोज और मैक दोनों के लिए काम करेगा। आपको शायद पैकेज प्रबंधन के लिए कुछ अलग चाहिए। यदि आप हमें बताते हैं कि पैकेज निर्माता, उन्नत इंस्टॉलर, या जो कुछ भी आपने कोशिश की है, तो आपकी कौन सी आवश्यकताओं को पूरा नहीं किया गया है, हम शायद मदद कर सकते हैं। – jahroy

+0

ध्यान दें कि जेआर 1.6 केवल ऐप्पल से डाउनलोड और सॉफ्टवेयर अपडेट के रूप में उपलब्ध है। 1.7 ओरेकल से उपलब्ध है। – Mark

+0

मुझे नहीं पता कि आपका बजट क्या है, लेकिन इस पर एक नज़र डालें: [फ्लेक्सरा सॉफ्टवेयर का इंस्टॉलेशन कहीं भी] (http://www.flexerasoftware.com/products/installanywhere.htm) – msiyer

उत्तर

8

बाहर चेक Package Maker विंडोज के लिए मैक और Advanced Installer के लिए।

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

मैं उन्हें स्वत: अपडेट के लिए उपयोग नहीं किया है, लेकिन आप शायद अपने ऐप्लिकेशन में उस तर्क का निर्माण करने के लिए है।

उन्हें हालांकि, आप के लिए काम के सभी करने की उम्मीद न करें।

प्रत्येक मंच के लिए एक इंस्टॉलर का निर्माण काफी समय का एक सा खर्च की अपेक्षा करें।

मुझे यकीन है कि विंडोज और लिनक्स के लिए बहुत सारे विकल्प हैं। उन्नत इंस्टालर बस केवल एक ही मैं का उपयोग किया है होता है।

मुझे विश्वास है कि पैकेज निर्माता मैक के लिए मानक है। यह बहुत बढ़िया और उपयोग करने में आसान है।

गुड लक!

0

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

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

ये समाधान स्पष्ट रूप से मैक परिनियोजन के लिए काम नहीं करेंगे, लेकिन मुझे संदेह है कि यदि आप अंतिम उपयोगकर्ताओं के लिए सबसे अच्छा अनुभव चाहते हैं तो आपको विभिन्न प्लेटफ़ॉर्म के लिए अलग-अलग टूल का उपयोग करना होगा।

1

मैं इतना है कि मैं लिनक्स और विंडोज में आवेदन स्थापित कर सकते हैं थोड़ी देर के लिए यह शोध किया है। सबसे अच्छा विकल्प मैंने पाया थे -

आप जानकारी है कि यह कैसे इस blogpost में देशी उपयोग करने के लिए मिल सकता है। लेकिन लिनक्स में इसे स्थापित करने से मुझे एक .sh स्क्रिप्ट का उपयोग करने के लिए मिला। मैक के लिए मेरा ज्ञान सीमित है। उम्मीद है की यह मदद करेगा।

1

ध्यान दें कि यदि आप एक NetBeans मंच आवेदन के रूप में अपने आवेदन विकसित करते हैं तो NetBeans क्रॉस प्लेटफॉर्म संस्थापक आप के लिए (मैक के लिए भी शामिल है) का उत्पादन करेगा।

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

यह निम्न लाभ है, जो मुझे लगता है कि यह बनाता है एक सम्मोहक विकल्प हैं: - क्रॉस प्लेटफॉर्म - अपने नि: शुल्क - एक JDK की आवश्यकता नहीं है संस्थापक चलाने से पहले स्थापित होने के लिए - एक सॉफ़्टवेयर अद्यतन प्रक्रिया को एकीकृत

1

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

विशेषताएं (ऑटो अपडेट, JVM संस्करण की जांच, डेस्कटॉप आइकन) उपलब्ध हैं।

विचारणीय बातें:

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