2015-07-20 4 views
7

के भंडार वहाँ कुछ सूचक या कैशे ताज़ा किया या हटाना आवश्यक है कि जब मैं किसी अन्य कंप्यूटर से Maven भंडार पर कॉपी है?कॉपी Maven किसी अन्य कंप्यूटर

मैं यह है कि प्रभावी रूप से ऑफ़लाइन किसी अन्य कंप्यूटर पर उपयोग के लिए अपने लैपटॉप से ​​स्थानीय Maven भंडार नकल करना चाहते हैं। ~/.m2/repository से फ़ाइलों की प्रतिलिपि बनाने के बाद यह अपेक्षा के अनुसार काम नहीं करता है। जब मैं mvn package -o निष्पादित मैं एक त्रुटि है कि यह नया भंडार से कलाकृतियों में से एक नहीं मिल सकता है मिलती है:

[ERROR] Failed to execute goal on project [...]: Could not resolve dependencies for project [...]: 
Cannot access central (https://repo.maven.apache.org/maven2) in offline mode and the artifact com.oracle:ojdbc6:jar:11.2.0.3.0 has not been downloaded from it before. 

लेकिन मैं ~/.m2/repository/com/oracle/ojdbc6/11.2.0.3.0 कि अन्य कंप्यूटर से कॉपी किया गया था पर फ़ोल्डर में विरूपण साक्ष्य है। (यह विशेष रूप से एक सार्वजनिक नहीं है, यह हमारी कंपनी नेक्सस सर्वर जो लक्ष्य सिस्टम से नहीं पहुँचा जा सकता पर संग्रहीत है।)

+2

आप यकीन है कि यह एक ही जगह है जहाँ आप की आपूर्ति करके कलाकृतियों की नकल की '-X' लिए बात कर रहा है कर सकता है और लॉग देख रहे हैं –

उत्तर

7

Maven settings.xml फ़ाइल में "अपडेट नीति" का उपयोग करता विरूपण साक्ष्य या करने के लिए डाउनलोड करने के लिए तय करने के लिए यदि उपलब्ध हो तो स्थानीय भंडार में से एक का उपयोग करें।

आप अपनी निर्भरता को अद्यतन करने के Maven नहीं करना चाहते हैं, तो आप <updatePolicy>never</updatePolicy> कॉन्फ़िगर करना चाहिए। आपको दोनों स्थानों पर एक ही भंडार <id> एस का उपयोग करने की भी आवश्यकता है।

तो अगर आप केवल Maven के केन्द्रीय भंडार का उपयोग कर रहे हैं, अपने repository विन्यास कुछ इस प्रकार दिखाई देगा:

<repository> 
    <id>central</id> 
    <name>Maven Central</name> 
    <url>https://repo1.maven.org/maven2</url> 
    <releases> 
    <enabled>true</enabled> 
    <updatePolicy>never</updatePolicy> 
    <checksumPolicy>warn</checksumPolicy> 
    </releases> 
    <snapshots> 
    <enabled>false</enabled> 
    </snapshots> 
</repository> 
+2

धन्यवाद! एक ही आईडी की आवश्यकता के बारे में आपकी टिप्पणी ने किया। मुझे नहीं लगता था भंडार नाम बात के बाद से जार रहे थे और यह ऑफलाइन मोड में था। यह पढ़ दूसरों के लिए, ध्यान दें दूरस्थ भंडार नाम विरूपण साक्ष्य के लिए स्थानीय भंडार फ़ोल्डर के भीतर _remote.repositories फ़ाइल में है। यह स्पष्ट रूप से settings.xml में एक भंडार से मेल खाना चाहिए। – jcadcell

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