मेरे पास एक ओएसजीआई बंडल है जिसे मैवेन का उपयोग किसी अन्य टीम द्वारा किया गया था। पीओएम फ़ाइल अपनी पैकेजिंग को "बंडल" के रूप में घोषित करती है और अपाचे फ़ेलिक्स प्लगइन का उपयोग करती है।तैनाती के साथ मेवेन रेपो में ओएसजीआई बंडल को कैसे तैनात करें: तैनाती फ़ाइल?
मुझे इस आर्टिफैक्ट को स्थानीय मैवेन रिपोजिटरी (नेक्सस) में तैनात करने की आवश्यकता है ताकि इसका उपयोग हमारी आंतरिक परियोजनाओं द्वारा किया जा सके।
मैंने deploy:deploy-file
का उपयोग भंडार में बंडल को तैनात करने के लिए किया है, जैसा कि आप एक मानक JAR फ़ाइल के साथ करेंगे और यह बिना त्रुटि के काम करता है। मैं बंडल से एम्बेडेड पोम निकाला जाता है और कमांड लाइन को पारित कर दिया है, तो कमांड लाइन था:
mvn deploy:deploy-file -Dfile=3rdpartybundle.jar -DpomFile=pom.xml -DrepositoryId=internal -Durl=http://internalserver/nexus
मुद्दा जब मैं इसे इस तरह की तैनाती, पैकेजिंग बंडल करने के लिए निर्धारित है कि है और इसके परिणामस्वरूप भंडार में आर्टिफैक्ट का नाम .jar एक्सटेंशन के बजाय, एक। बंडल एक्सटेंशन के साथ समाप्त होता है।
अब, हम यह नहीं समझ सकते कि इसे निर्भरता के रूप में कैसे घोषित किया जाए। अगर हम इसे इस तरह घोषित करते हैं:
<dependency>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<type>bundle</type>
</dependency>
हमें यह बताते हुए एक त्रुटि मिलती है कि निर्भरता को हल नहीं किया जा सकता है। दिलचस्प बात यह है कि त्रुटि संदेश में जीएवी निर्देशांक वास्तव में "जार" निर्भरता के प्रकार के लिए मूल्य के रूप में है, भले ही हम इसे "बंडल" के रूप में सेट करते हैं।
हम करने के लिए निर्भरता को बदलते हैं:
<dependency>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<type>jar</type>
</dependency>
हम ठीक उसी अनसुलझे निर्भरता त्रुटि मिलती है।
तो आप एक मैवेन रिपोजिटरी में बंडल के रूप में पैक किए गए आर्टिफैक्ट को कैसे तैनात करना चाहते हैं, ताकि इसे किसी अन्य प्रोजेक्ट के लिए संकलन समय निर्भरता के रूप में उपयोग किया जा सके?
धन्यवाद
मुझे एहसास है कि "स्थानीय भंडार" शब्द का उपयोग भ्रमित हो रहा है। मैं रिमोट सर्वर पर एक नेक्सस भंडार में तैनाती करने की कोशिश कर रहा हूं। सर्वर हमारी टीम पर सभी द्वारा साझा किया जाता है। जब मैंने "स्थानीय" कहा, मुझे लगता है कि मेरा मतलब था "हमारे लैन पर हमारे फ़ायरवॉल के अंदर"। –