2016-05-18 11 views
2

Ich habe dieses Maven-Projekt in Eclipse auf meinem Mac erstellt. Die folgenden zwei Artefakte sind in meinem Pom. Kein Problem auf MAC.kann keine Maven-Abhängigkeit hinzufügen - Apache poi

<dependency> 
    <groupId>org.apache.poi</groupId> 
    <artifactId>poi</artifactId> 
    <version>3.14</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.poi</groupId> 
    <artifactId>poi-ooxml</artifactId> 
    <version>3.14</version> 
</dependency> 

Jedoch, wenn ich vor kurzem den Code bewegt auf meinem PC zu Eclipse habe ich diese seltsame Fehler "Fehlende Artefakt org.apache.poi: poi: jar: 3.14". Und es zeigt sowohl auf den Abhängigkeitsblock als auch auf die erste Zeile von pom (siehe Screenshot) enter image description here. Das Projekt wurde mehrmals aktualisiert und es hat nicht geholfen.

Ich habe zwei Repositories eingerichtet, eine öffentliche und eine institutionelle.

<repositories> 
    <repository> 
     <id>JBoss repository</id> 
     <url>http://repository.jboss.org/nexus/content/groups/public/</url> 
    </repository> 
    <repository> 
     <snapshots> 
      <enabled>false</enabled> 
     </snapshots> 
     <id>central</id> 
     <name>repo</name> 
     <url>http://risdevtool01p.mdanderson.edu:8081/artifactory/repo</url> 
    </repository> 
    </repositories> 

Als ich tun "mvn sauber installieren -U", sieht es aus wie es Poi und Poi-OOXML aus zwei verschiedenen Repositories zum Download versucht.

Downloading:http://repository.jboss.org/nexus/content/groups/public/org/apache/poi/poi-ooxml-schemas/3.14/poi-ooxml-schemas-3.14.jar 
Downloading: http://repository.jboss.org/nexus/content/groups/public/org/apache/poi/poi/3.14/poi-3.14.jar 
Downloading: http://risdevtool01p.mdanderson.edu:8081/artifactory/repo/org/apache/poi/poi/3.14/poi-3.14.jar 
Downloading: http://risdevtool01p.mdanderson.edu:8081/artifactory/repo/org/apache/poi/poi-ooxml-schemas/3.14/poi-ooxml-schemas-3.14.jar 
+0

Zeigt Ihr Eclipse-Plugin auf Ihr .m2-Verzeichnis? – Lee

+0

Was ist mit 'mvn clean install' von einer Befehlszeile? – ivanenok

+0

@Lee Woher weiß ich, ob das Eclipse-Plugin auf mein .m2-Verzeichnis verweist oder nicht? Ich habe Maven nach der Sonnenfinsternis installiert. – ddd

Antwort

3

Das Problem ist in der Schnittstelle von JBoss wird das Artefakt nicht richtig gelöscht in der Tat hatten wir die Version in der Liste der verfügbaren Versionen die Version ist jedoch an der erwarteten Position nicht zur Verfügung, die http://repository.jboss.org/nexus/content/groups/public/org/apache/poi/poi/3.14/

404 - Path /org/apache/poi/poi/3.14/ not found in group repository "Public Repository Group" [id=public]. 

Path /org/apache/poi/poi/3.14/ not found in group repository "Public Repository Group" [id=public]. 
ist

Aber offensichtlich haben sie diese Version gerade richtig entfernt jetzt ist diese Version nicht mehr Teil der verfügbaren Versionen, wie Sie hier http://repository.jboss.org/nexus/content/groups/public/org/apache/poi/poi/ sehen können, so dass, wenn Sie Ihr lokales Repository löschen und versuchen Sie es erneut mit einem Befehl vom Typ mvn clean install, es wird funktionieren

+0

Ich habe mein lokales Repository gelöscht und es funktioniert, aber ich verstehe nicht, warum das Entfernen des lokalen Repository helfen würde, wenn einige Artefakte sind nicht im öffentlichen Repository verfügbar (jboss). – ddd

+0

Da das Repository von JBoss beschädigt war, wurde die Version von poi beim Testen nicht ordnungsgemäß gelöscht, jetzt wurde sie ordnungsgemäß entfernt. Durch das Säubern Ihres lokalen Repos erhalten Sie also alles ordnungsgemäß und ohne beschädigte Artefakte –