2015-04-30 8 views
8

मैं Maven का उपयोग कर ग्रहण में निम्नलिखित की तरह त्रुटियों मिलती है:ग्रहण/Maven परियोजना के लिए आवश्यक याद आ रही है पुस्तकालय/गुम विरूपण साक्ष्य

Missing artifact org.eclipse:swt:jar:3.7. 
Project 'davmail' is missing required library: '/home/buzz-dee/.m2/repository/org/eclipse/swt/3.7.0/swt-3.7.0.jar' 

Maven missing libraries error

अधिकांश पुस्तकालयों पाए जाते हैं के रूप में आप ऊपर छवि में देख सकते हैं, लेकिन कुछ नहीं।

<?xml version="1.0" encoding="ISO-8859-1"?> 
<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>davmail</groupId> 
    <artifactId>davmail</artifactId> 
    <packaging>jar</packaging> 
    <version>4.6.1</version> 
    <name>DavMail POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange Gateway</name> 
    <organization> 
     <name>Mickaël Guessant</name> 
    </organization> 
    <repositories> 
     <repository> 
      <id>central</id> 
      <name>Maven Repository Switchboard</name> 
      <layout>default</layout> 
      <url>http://repo1.maven.org/maven2</url> 
      <snapshots> 
       <enabled>false</enabled> 
      </snapshots> 
     </repository> 
     <repository> 
      <id>xwiki</id> 
      <layout>default</layout> 
      <url>http://maven.xwiki.org/externals</url> 
      <snapshots> 
       <enabled>false</enabled> 
      </snapshots> 
     </repository> 
    </repositories> 
    <dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.jackrabbit</groupId> 
      <artifactId>jackrabbit-webdav</artifactId> 
      <version>2.4.3</version> 
      <exclusions> 
       <exclusion> 
        <groupId>org.apache.jackrabbit</groupId> 
        <artifactId>jackrabbit-jcr-commons</artifactId> 
       </exclusion> 
       <exclusion> 
        <groupId>xml-apis</groupId> 
        <artifactId>xml-apis</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-log4j12</artifactId> 
      <version>1.3.1</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-httpclient</groupId> 
      <artifactId>commons-httpclient</artifactId> 
      <version>3.1</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-codec</groupId> 
      <artifactId>commons-codec</artifactId> 
      <version>1.3</version> 
     </dependency> 
     <dependency> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
      <version>1.2.16</version> 
      <exclusions> 
       <exclusion> 
        <groupId>javax.jms</groupId> 
        <artifactId>jms</artifactId> 
       </exclusion> 
       <exclusion> 
        <groupId>com.sun.jdmk</groupId> 
        <artifactId>jmxtools</artifactId> 
       </exclusion> 
       <exclusion> 
        <groupId>com.sun.jmx</groupId> 
        <artifactId>jmxri</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>javax.mail</groupId> 
      <artifactId>mail</artifactId> 
      <version>1.4.3</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.activation</groupId> 
      <artifactId>activation</artifactId> 
      <version>1.1.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.eclipse</groupId> 
      <artifactId>swt</artifactId> 
      <version>3.7.0</version> 
      <optional>true</optional> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>servlet-api</artifactId> 
      <version>2.4</version> 
      <optional>true</optional> 
     </dependency> 
     <dependency> 
      <groupId>net.sourceforge.htmlcleaner</groupId> 
      <artifactId>htmlcleaner</artifactId> 
      <version>2.2</version> 
     </dependency> 
     <!-- included in Java 1.6, needed with Java 1.5 --> 
     <dependency> 
      <groupId>org.codehaus.woodstox</groupId> 
      <artifactId>woodstox-core-asl</artifactId> 
      <version>4.1.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.samba.jcifs</groupId> 
      <artifactId>jcifs</artifactId> 
      <version>1.3.14</version> 
     </dependency> 
     <dependency> 
      <groupId>net.freeutils.charset</groupId> 
      <artifactId>jcharset</artifactId> 
      <version>1.3</version> 
     </dependency> 
     <dependency> 
      <groupId>org.boris.winrun4j</groupId> 
      <artifactId>winrun4j</artifactId> 
      <version>0.4.5</version> 
     </dependency> 
    </dependencies> 
    <pluginRepositories> 
     <pluginRepository> 
      <id>apache.snapshots</id> 
      <url>http://repository.apache.org/snapshots</url> 
      <releases> 
       <enabled>false</enabled> 
      </releases> 
     </pluginRepository> 
    </pluginRepositories> 
    <build> 
     <sourceDirectory>src/java</sourceDirectory> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.5</source> 
        <target>1.5</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-site-plugin</artifactId> 
       <version>2.2</version> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

क्या गड़बड़ हो सकती: लेकिन फ़ाइलें सही जगह .:

ls ~/.m2/repository/org/eclipse/swt/3.7.0/ 
swt-3.7.0.jar.lastUpdated swt-3.7.0.pom.lastUpdated 

यह एक आंशिक pom.xml है में कर रहे हैं?

+1

'.lastupdated' फ़ाइलें असली कलाकृतियों नहीं हैं। यह आखिरी बार उन्हें उस टाइमस्टैम्प पर देखा और उन्हें नहीं मिला। फ़ाइल आकार एक giveaway होना चाहिए। देखें: http://stackoverflow.com/questions/2529218/maven-downloads-have-lastupdated-as-extension – RaGe

+0

धन्यवाद, मैंने फ़ाइल नाम 'swast-3.7.0.jar.last अद्यतन' में'lastUpdated' को अनदेखा किया है। । मेरे पास पहले से ही प्रोजेक्ट libs फ़ोल्डर में फ़ाइलें हैं। क्या एक मेवेन कमांड भी उस फाइल को कॉपी करता है जो मैवेन रिपोजिटरी फ़ोल्डर में है? –

+0

यदि आप इंटरनेट से जुड़े हैं, तो बस -यू ध्वज के साथ मेवेन चलाएं, यह निर्भरताओं को डाउनलोड करने के लिए मजबूर करता है। – RaGe

उत्तर

3

this DavMail page के अनुसार, org.eclipse:swt:jar:3.7.0 एक वैकल्पिक निर्भरता है। यह mavenCentral में नहीं है, तो आप शायद यह नीचे कुछ अन्य रिपोजिटरी से शिकार सकता है, लेकिन के रूप में चर्चा here अपने पोम से कि निर्भरता निकालें और -U

वैकल्पिक रूप से का उपयोग कर के पुनर्निर्माण के लिए किया जाएगा करने का सबसे आसान बात है,, आप here से जार डाउनलोड और इंस्टॉल आदेश का उपयोग कर अपने स्थानीय .m2 रेपो के लिए इसे स्थापित कर सकते हैं:

mvn install:install-file -DgroupId=org.eclipse -DartifactId=swt -Dversion=3.7.0 -Dpackaging=jar -Dfile=lib/swt-3.7-win32-x86.jar 

कृपया ध्यान दें हालांकि, कि यह एक अस्थायी ठीक है, हर मशीन आप करना चाहते हैं पर बार-बार करना होगा कि इस परियोजना का निर्माण करें। उस तरह से मैवेन जैसे टूल पर ऑफलोडिंग निर्भरता प्रबंधन के बिंदु को हराया जाता है। अगर मैं काम करता हूं तो मैं आपकी परियोजना से निर्भरता के रूप में swt को हटाने को प्राथमिकता दूंगा।

+0

एसडब्ल्यूटी जार पहले ही चेक आउट स्रोत कोड में हैं। उन्हें फिर से डाउनलोड करना जरूरी नहीं है। –

3

पिछले उत्तर को अनदेखा करें।

मेवेन सेंट्रल में org.eclipse.swt के लिए संस्करण 3.7.0 नहीं है। मेवेन सेंट्रल के अनुसार नवीनतम संस्करण 3.3.0 है। You can see that in the link heremvnrepository.com doesn't have it either.

आप फिर से 3.3.0 संस्करण का उपयोग कर की कोशिश कर सकते हैं या आप मैन्युअल रूप से अपने स्रोत फ़ोल्डर में जोड़ने की कोशिश कर सकते हैं, लेकिन,, latest version available on their website is 4.4.2

+0

अगर मैंने फ़ाइल 'swt-3.7.0.jar.lastUpdated' और' swt-3.7.0.pom.last अद्यतन 'हटा दी है, तो मैं उन्हें वापस प्राप्त करता हूं, अगर मैं "प्रोजेक्ट अपडेट करें" पर क्लिक करता हूं। अन्य फ़ाइलों के लिए मैंने मैन्युअल रूप से उस फ़ोल्डर में प्रतिलिपि बनाई और "प्रोजेक्ट अपडेट करें" पर क्लिक किया जो काम कर रहा था। –

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