2012-03-20 15 views
11

Kunagi एक साधारण जावा वेब एप्लिकेशन है जिसके लिए हम पहले से ही अपने उपयोगकर्ताओं के लिए एक बाइनरी .deb पैकेज बना रहे हैं। यह पैकेज tomcat6 पर निर्भर करता है और .war फ़ाइल को /var/lib/tomcat6/webapps पर रखता है। यह डेबियन और उबंटू पर बहुत अच्छा काम करता है।मेरे जावा वेब एप्लिकेशन के लिए डेबियन पैकेज कैसे बनाएं?

अब मैं एक वास्तविक स्रोत पैकेज बनाना चाहता हूं जिसे डेबियन में एकीकृत किया जा सकता है। दुख की बात है कि मुझे कोई ट्यूटोरियल नहीं मिल रहा है। सीडीबीएस, डीएच 7 या जावावेल और उनके आदेश जैसे उपकरणों के बारे में बहुत सारी जानकारी है। लेकिन मुझे किस का उपयोग करना चाहिए?

मैं भी कुछ वैचारिक प्रश्न हैं:

  1. आमतौर पर, वेब अनुप्रयोगों वेब कंटेनर के webapps निर्देशिका में webapp को कॉपी करके स्थापित कर रहे हैं। क्या यह मेरे पैकेज को tomcat6 पर निर्भर करने का अधिकार होगा और मेरे वेबएप को सीधे /var/lib/tomcat6/webapps में इंस्टॉल करें? या मेरे वेबपैप को कहीं और स्थापित किया जाना चाहिए, एक अलग टोमकैट कॉन्फ़िगरेशन प्रदान करना चाहिए और अन्य उपयोगकर्ताओं की तरह अपने उपयोगकर्ता के साथ चलाना चाहिए?

  2. मेरा वेबपैप अन्य परियोजनाओं से पुस्तकालयों (जेएआरएस) का उपयोग करता है। प्रयोक्ता इन्हें वेबपैप निर्देशिका के WEB-INF/lib उपनिर्देशिका में रखा गया है। चूंकि डेबियन में पैकेज में पुस्तकालयों की अनुमति नहीं है, क्या इन परियोजनाओं को मेरे पैकेज में निर्भरता के रूप में जोड़ने और मेरे WEB-INF/lib निर्देशिका में सिम्लिंक बनाने का अधिकार होगा? या मैं इस समस्या को कैसे हल करूं?

  3. मेरे वेबपैप को फाइलें (एप्लिकेशन डेटा) लिखने की जरूरत है। चूंकि टोमकैट डेबियन पर उपयोगकर्ता www-data के रूप में चल रहा है, केवल एक ही निर्देशिका जहां मेरा वेबपैप लिख सकता है /var/lib/tomcat6/webapps है। क्या यह मेरा डेटा डालने का सही स्थान है? या मेरे पैकेज को /var/lib/my-webapp-name/ जैसे कुछ बनाना चाहिए और उपयोगकर्ता www-data के लिए लिखने की अनुमति दें?

+0

इस प्रश्न के बारे में डेबियन डेवलपर्स को सूचित करने का सबसे अच्छा तरीका क्या है? – Witek

+0

आपके पास टोमकैट पर युद्ध लगाने के लिए एक डेब पैकेज है। क्या आप संभवतः इसे साझा कर सकते हैं? हम एक ही काम करने की कोशिश कर रहे हैं। –

+0

यह वास्तव में एक .deb पैकेज होने की आवश्यकता है? आप टॉककैट और अपने वेबएप के साथ डॉकर कोनेटर (https://www.docker.com/) बना सकते हैं। कंटेनर वर्चुअल मशीनों की तरह काम करते हैं, बड डॉकर आपको आसानी से बदलाव करने और इसे साझा करने देता है। आपके क्लाइंट को केवल डेबियन रिपॉजिटरी से डॉकर इंस्टॉल करने की आवश्यकता है और अपने कंटेनर को डाउनलोड और चलाने के लिए एक कमांड चलाएं। यदि आपको समाधान के रूप में माना जा सकता है तो मैं आपको एक उदाहरण दे सकता हूं। आपके कंटेनर में पहले से ही एम्बेडेड टॉमकैट हो सकता है, आप बस इस सार्वजनिक कंटेनर छवि (https://hub.docker.com/_/tomcat/) को संशोधित करने के लिए कर सकते हैं। – Damian

उत्तर

1

खैर ... आप डेबियन पैकेज बनाने के लिए की तुलना में वहाँ एक महान jdeb पुस्तकालय जो ant और maven दोनों के लिए काम करता है है। सबसे अच्छी सुविधा यह है कि इसे dpkg रैपर की आवश्यकता नहीं है, इसलिए आपका निर्माण ओएस-निर्भर नहीं होगा।

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