में प्रदान की गई अतिरिक्त मेवेन रिपोजिटरी का उपयोग नहीं कर रहा है मेरे पास जावा-आधारित गिटहब प्रोजेक्ट है, fitnessjiffy-spring (मैं वर्तमान में "बूटस्ट्रैप" शाखा पर केंद्रित हूं)। यह किसी अन्य गिटहिब प्रोजेक्ट, fitnessjiff-etl से निर्मित लाइब्रेरी पर निर्भर करता है। मैं ट्रेविस सीआई द्वारा निर्मित इन दोनों को कॉन्फ़िगर करने की कोशिश कर रहा हूं।ट्रैविस सीआई pom.xml
दुर्भाग्यवश, ट्रैविस मेवेन आधारित जावा परियोजनाओं से निपटने में जेनकिंस या हडसन के रूप में परिष्कृत नहीं है। जेनकींस परियोजनाओं के बीच निर्भरता को आसानी से संभाल सकता है, लेकिन ट्रैविस के साथ एक ही अवधारणा मौजूद नहीं है। यदि एक परियोजना दूसरे पर निर्भर करती है, तो वह अन्य परियोजना पहले से ही पहले ही बनाई जानी चाहिए ... और इसका आर्टिफैक्ट कुछ मैवेन रेपो पर अपलोड किया गया है जहां पहली परियोजना इसे बाद में डाउनलोड कर सकती है।
मेरी "फिटनेसजफी-एटीएल" लाइब्रेरी बस ठीक है और तैनात कर रही है। मैं Maven भंडार होस्टिंग के लिए Bintray उपयोग कर रहा हूँ, और आप स्पष्ट रूप से सादे HTTP पर मेरी कलाकृतियों देख सकते हैं:
http://dl.bintray.com/steve-perkins/maven/
मेरी "fitnessjiffy वसंत" परियोजना में, मैं सीधे इस Maven रेपो स्थान द्वारा जोड़ा जा रहा pom.xml
, ताकि ट्रैविस उस आर्टिफैक्ट निर्भरता को पा सकें। Here is the state of my POM at the time of this writing। फ़ाइल के नीचे <repositories>
तत्व नोट करें।
जब मैं स्थानीय रूप से इस परियोजना का निर्माण करता हूं, तो यह ठीक काम करता है। मैं इसे "http://dl.bintray.com/ ..." से मेवेन आर्टिफैक्ट डाउनलोड कर देख सकता हूं। हालांकि, जब मैं ट्रैविस सीआई पर निर्माण करने की कोशिश करता हूं तो यह हर बार विफल रहता है। मैं कंसोल लॉग में देख सकता हूं कि ट्रेविस अभी भी मेरे निर्दिष्ट रेपो के बजाय मेवेन सेंट्रल से आर्टिफैक्ट डाउनलोड करने का प्रयास कर रहा है।
क्या यह किसी और के लिए समझ में आता है? मैवेन स्थानीय रूप से निर्माण करते समय पीओएम फ़ाइल में कस्टम रिपोजिटरी स्थान का उपयोग क्यों करता है, लेकिन ट्रेविस सीआई बिल्ड पर चलते समय इस कॉन्फ़िगरेशन को अनदेखा करता है?