2015-04-30 24 views
8

Eclipse aşağıdaki gibi hatalar Maven'in kullanıldığı olsun: Yukarıdaki resimde görebileceğiniz gibiEclipse/Maven Proje gerekli eksik olan kütüphane/Eksik eser

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

En kütüphaneler bulunur, ama bazıları değil.

<?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> 

ne yanlış olabilir: Ama dosyalar doğru yerde .: Bu kısmi bir pom.xml olduğunu

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

içindedir?

+1

'.lastupdated 'dosyaları gerçek eserler değildir. Sonunda maven onları o zaman damgasını aradı ve onları bulamadı. Dosya boyutları bir hediye olmalıdır. Bakınız: http://stackoverflow.com/questions/2529218/maven-downloads-have-lastupdated-as-extension – RaGe

+0

Teşekkürler, 'swt-3.7.0.jar.lastUpdated' dosya adında .'lastUpdated' gözardı ettim . Bu dosyaları zaten proje libs klasöründe var. Maven komutu da bu dosyaları Maven depo klasörüne kopyalamak mı? –

+0

Eğer internete bağlıysanız, sadece -U bayrağıyla mavnayı çalıştırın, bağımlılıkları indirmeye zorlayın. – RaGe

cevap

3

this DavMail page göre org.eclipse:swt:jar:3.7.0 isteğe bağlı bir bağımlılık olduğunu. Size O mavenCentral değil, muhtemelen diğer bazı deposundan avlamak, ancak here tartışıldığı gibi olurdu yapmak basit şey, senin pom o bağımlılık kaldırmak ve Alternatif -U

kullanarak yeniden inşa etmek here gelen kavanozu indirip yüklemek komutunu kullanarak yerel .m2 repo yükleyebilirsiniz:

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

bunun geçici bir düzeltme olduğunu, ancak lütfen unutmayın istediğiniz her makinede tekrarlanacak zorunda kalacağını Bu projeyi inşa et. Bu, Bağımlılık yönetimini Maven gibi bir araca indirme noktasını yener. Çalışıyorsa, projenizden bağımlı olarak swt'u kaldırmayı tercih ediyorum.

+0

SWT kavanozları zaten kontrol edilen kaynak kodunda. Onları tekrar indirmek gerekli değildir. –

3

Önceki yanıtı dikkate almayın.

Maven central, org.eclipse.swt için 3.7.0 sürümüne sahip değil. Maven merkezine göre en son versiyon 3.3.0. You can see that in the link here. mvnrepository.com doesn't have it either.

yine Sen 3.3.0 sürümünü kullanarak deneyebilirsiniz ya da kaynak klasörüne manuel olarak eklemek deneyebilirsiniz, ancak, latest version available on their website is 4.4.2

+0

Eğer "swt-3.7.0.jar.lastUpdated" ve "swt-3.7.0.pom.lastUpdated" dosyalarını silseydim, "Proje Güncelle" yi tıklarsam geri alırım. Diğer dosyalar için bu klasöre manuel olarak kopyaladım ve çalışmakta olan "Projeyi güncelle" ye tıkladım. –