2011-10-17 11 views
7

मैं मैं भी ~/.m2/repository/aGroup/anArtifact/aVersion निर्देशिका में anArtifact-aVersion.jar फ़ाइल है मेरी pom.xmlक्यों मैवेन .pom फ़ाइल की तलाश में है जब .jar भंडार में मौजूद है?

<dependency> 
    <groupId>aGroup</groupId> 
    <artifactId>anArtifact</artifactId> 
    <version>aVersion</version> 
</dependency> 

में निम्नलिखित निर्भरता है।

जब मैं परियोजना का निर्माण शुरू, Maven बजाय .jar फ़ाइल का उपयोग कर के एक .pom फ़ाइल के लिए लग रहा है और निम्नलिखित

http://repo1.maven.org/maven2/aGroup/anArtifact/aVersion/anArtifact-aVersion.pom

मैं कैसे कॉन्फ़िगर कर सकते हैं Maven मौजूदा .jar फ़ाइल का उपयोग करने डाउनलोड करने का प्रयास?

+0

क्या आपने उस जार को अपने स्थानीय भंडार (~/.m2/भंडार) में रखा था? या मैवेन इसे डाउनलोड किया? – Daniel

उत्तर

7

हर जार, तो आप सिर्फ कुछ इस तरह सरल जोड़ सकते हैं एक पोम फ़ाइल यह वर्णन की जरूरत है:

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>aGroup</groupId> 
    <artifactId>aArtifactId</artifactId> 
    <version>aVersion</version> 
    <packaging>jar</packaging> 
    <name>a Name</name> 
</project> 
+1

क्या इसका मतलब यह है कि भंडार में जार के बगल में इस तरह की ".pom" फ़ाइल होनी चाहिए, जबकि पहले से ही jar फ़ाइल के अंदर pom.xml और plugin.xml फ़ाइलें हैं? क्या यह उनमें से एक की प्रति होना चाहिए? – Dima

+1

हां पोम वहां होना चाहिए और हां मैं सिर्फ एक शामिल पोम की एक प्रति हो सकता हूं। यदि आप एक जार अपलोड करते हैं तो स्थानीय भंडार जैसे आर्टिफैक्ट्री वास्तव में सिर्फ एक शामिल पोम निकालते हैं। – HefferWolf

3

यह अन्य चीजों के साथ, पोम को ट्रांजिटिव निर्भरताओं को हल करने के लिए देख रहा है।

2

"-ओ" स्विच का उपयोग ऑफलाइन मोड में Maven उपयोग करने के लिए अपने निर्माण चलाएँ। ऑफलाइन मोड में, मैवेन रिमोट रिपॉजिटरीज़ में स्नैपशॉट निर्भरताओं के अपडेट की जांच नहीं करेगा।

4

स्थानीय भंडार जो Maven IST द्वारा निर्मित नहीं कर रहे थे

mvn install:install-file ...

का उपयोग करने के लिए एक विरूपण साक्ष्य स्थापित करने के लिए सबसे अच्छा तरीका है install:install लक्ष्य पर एक नजर है।

2

पीओएम जो नेक्सस में स्थापित है, जार का वर्णन करेगा। संबंधित जार से जुड़े निर्भरताओं को खींचने के लिए प्रयुक्त होता है। जब हम जार को हमारी परियोजना के लिए निर्भरता के रूप में जोड़ते हैं, तो शामिल जार के लिए आवश्यक सभी जारों को इसी पोम के माध्यम से पहचाना जाएगा।