2012-06-21 14 views
6

Ho un progetto Maven in Eclipse, con alcune dipendenze:Eclipse + Maven non può POM aperta anche se esiste

<repositories> 
    <repository> 
     <id>bukkit-repo</id> 
     <url>http://repo.bukkit.org/content/groups/public/</url> 
    </repository> 
</repositories> 
<dependencies> 
    <dependency> 
     <groupId>org.apache.commons</groupId> 
     <artifactId>commons-lang3</artifactId> 
     <version>3.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.bukkit</groupId> 
     <artifactId>bukkit</artifactId> 
     <version>1.2.5-R1.2</version> 
    </dependency> 
<dependency> 

One (Commons Apache) è dal repository core, ma l'altro proviene da qualche altro server Maven.

Le dipendenze vengono importate correttamente e visualizzate nel progetto eclipse. Posso fare clic destro su commons-lang3-3.1.jar nel pacchetto explorer, e fare clic su Maven -> Apri POM, e il file pom si apre.

Tuttavia, se faccio lo stesso per bukkit-1.2.5-R1.2.jar, non riesce con il messaggio:

[ERRORE] Impossibile risolvere org.bukkit artefatto: Bukkit: pom: 1.2.5-R1.2

la parte confusa è che posso aprire l'indice del repository Maven creato da Eclipse, e vedere che i file necessari sono là:

\.m2\repository\org\bukkit\bukkit\1.2.5-R1.2: 
    bukkit-1.2.5-R1.2.jar 
    bukkit-1.2.5-R1.2.jar.lastUpdated 
    bukkit-1.2.5-R1.2.jar.sha1 
    bukkit-1.2.5-R1.2.pom 
    bukkit-1.2.5-R1.2.pom.lastUpdated 
    bukkit-1.2.5-R1.2.pom.sha1 
    ... 

Perché non può eclissare/m2e/maven trova e apre questo POM?

+0

Nessun problema qui. A proposito, il tuo pom termina con '' piuttosto che '', ma immagino che sia solo un refuso ... non è vero? –

+0

Hai trovato qualche soluzione? – fglez

+0

@antispam: Penso di aver finito con l'eliminazione di varie cose correlate a Maven e di aver riavviato Eclipse fino a quando non ha funzionato. Mi dispiace non essere di aiuto. – Eric

risposta

1

hai provato ad aggiornare l'indice del repository locale? Questo viene fatto aprendo la vista Repository Maven in eclissi (Finestra> Mostra vista> Altro ..) e una volta all'interno di "Repository locali" selezionare Ricostruisci indice.

0

Ciao il problema è causato dai file * .lastupdated. Questi file vengono generati se la dipendenza non può essere risolta la prima volta e bloccano le ricerche del repository per il secondo artefatto per 24 ore. (Questo è stato implementato in Maven come miglioramento delle prestazioni) ... Suppongo che tu abbia aggiunto il repository dopo che hai avuto a che fare con il problema, che la dipendenza non possa essere risolta. Basta eliminare i file * .lastUpdated ed eseguire di nuovo la build.

1

Io uso SpringSource Tool Suite. Si basa su Eclipse e ti consigliamo di eliminare il plugin maven su Eclipse e inoltre risolve automaticamente le dipendenze. Ti consente di importare progetti Maven come altri progetti Java. Basta fare clic su "Importa" -> "Importa progetti esistenti nello spazio di lavoro", il gioco è fatto.

Per la posizione config e repository, per impostazione predefinita utilizza il percorso a .m2 \ settings.xml ma è sempre possibile modificarlo andando su "Preferenze" -> "Maven" -> "Impostazioni utente".