Eclipse: le dipendenze di ricerca di Maven non funzionano


91

Ho creato un nuovo semplice progetto Maven in un nuovo spazio di lavoro.

Quando apro la pom.xml's Dependenciesvista in editor di Eclipse, e scelgo Add..di dipendenza, non ci sono i risultati di ricerca non importa quale i criteri di ricerca di ingresso ho nei campi di ricerca:

Mi dà immediatamente, per esempio Results for 'spring' (0),.

Nell'altro mio spazio di lavoro, con i miei progetti esistenti non ho questo problema.

C'è un modo per risolvere questo ?


3
Credo che ci sia una soluzione nel seguente link: stackoverflow.com/questions/7065478/classic-error-unable-to-update-index-for-centralhttp-repo1-maven-org-maven2 [1]: stackoverflow.com/questions/ 7065478 /…
Eric Wang

Risposte:


187

La ricerca degli artefatti di Eclipse dipende dal file di indice del repository. Sembra che tu non abbia scaricato il file index.

Vai a Finestra -> Preferenze -> Maven e seleziona "Scarica gli aggiornamenti dell'indice del repository all'avvio" . Riavvia Eclipse e poi guarda la visualizzazione dei progressi. Dovrebbe essere in corso il download di un file di indice.

Dopo aver scaricato completamente, la ricerca degli artefatti sarà pronta per l'uso.

Impostazioni Maven

AGGIORNAMENTO È inoltre necessario ricostruire l'indice del repository Maven in "vista repository maven".

In questa vista, apri "Archivi globali", fai clic con il pulsante destro del mouse su "centrale", seleziona "Abilita indice completo", quindi fai clic su "Ricostruisci indice" nello stesso menu.

Verrà scaricato un file indice 66M.

Archivi Maven -> Ricostruisci indice


4
Finestra-> Preferenze-> Maven
McLovin

5
l'aggiornamento del repository al riavvio richiede un sacco di tempo, non so se si completa o meno anche, qualche alternativa?
Vasanth Nag KV

5

Nella tua eclissi, vai su Windows -> Preferenze -> Maven Preferenze Maven Screenshot Seleziona l'opzione "Scarica gli aggiornamenti dell'indice del repository all'avvio". Potresti voler riavviare l'eclissi.

Vai anche su Windows -> Mostra vista -> Altro -> Maven -> repository Maven Screenshot di Maven Repository View

Sul pannello dei repository Maven, Espandi repository globali quindi fai clic con il pulsante destro del mouse su Repository centrali e seleziona l' opzione "Indice completo abilitato" e quindi fai clic su "Ricostruisci indice" .

Screenshot indice completo


1
In che modo la tua risposta aggiunge qualcosa alla risposta precedentemente accettata da Xiujun Ma? È come se avessi copiato quella risposta ma l'avessi riformulata. Anche le schermate nella tua risposta sono quasi identiche a quelle per la risposta accettata!
skomisa

@skomisa Non ho copiato affatto la risposta. Ho risposto a questa domanda quando ho effettivamente affrontato questo problema. Anche le serigrafie sono del mio lavoro. Copiare e incollare le risposte non ha senso su StackOverflow. E se lo avessi copiato e incollato, avrei risposto a migliaia di domande ormai che non ho ancora.
Hetal Rachh

1
OK, ma la tua risposta ripete solo le informazioni fornite nella risposta accettata.
skomisa

4

È possibile ottenere questo risultato se ci si trova all'interno di un proxy aziendale e il nuovo progetto non punta al file settings.xml corretto con le credenziali del proxy.

Puoi anche ottenerlo se stai usando il proxy Maven (Nexus, ad esempio) e l'indice nel proxy è in qualche modo incasinato. Non conosco un modo per descrivere come risolvere questo problema. Divertiti con esso o chiama colui che ha impostato il proxy Maven.

Puoi anche ottenerlo se il nuovo spazio di lavoro non ha ancora scaricato l'indice da Maven central o dal proxy. (Questo è il migliore in quanto devi solo aspettare un po 'e funzionerà da solo.)


effettivamente ho le due aree di lavoro aperte (in due eclissi diverse), in una funziona e non nell'altra, quindi non può essere un problema di connessione proxy o internet. E non c'è alcun file setting.xml in nessuno dei due workspace .. Penso che potresti avere ragione sull'indice scaricato, ma non so come scaricarlo (ho questo problema da ieri quindi è inutile aspettare)
Majid Laissi

1
Sto usando MyEclipse e le preferenze potrebbero essere diverse dalle tue. Ma ho un pulsante a cui accedi con finestra> preferenze> MyEclipse> Maven4MyEclipse> Impostazioni utente. Il pulsante è etichettato "Reindicizza" e se fai clic su di esso, potrebbe essere d'aiuto. C'è una foto e maggiori informazioni qui: (clicca)
Lee Meador

BTW - settings.xml è un file che si trova nella cartella .m2 nella tua cartella utente. (Windows 7 è c: \ Users \ YourName \ .m2, Linux è ~ / .m2) e può contenere informazioni globali per più aree di lavoro. La stessa pagina delle preferenze ti consente di selezionarlo.
Lee Meador

Grazie per il tuo tempo. L'ho provato senza fortuna, ma Reindex reindicizza solo il mio repository maven locale (librerie che ho già)? E per il file settings.xml, non esiste in nessuno dei due spazi di lavoro, (preferenze di Eclipse / riferimenti alle impostazioni utente C:\Users\XX\.m2\settings.xmle dice User settings file doesn't exist) ed è la stessa cosa per entrambi gli spazi di lavoro, quindi immagino non sia importante.
Majid Laissi

info http://maven.apache.org/settings.html su cosa c'è nel file. Finché nessun proxy, nessuna password e tutto ciò di cui hai bisogno è in Maven Central, puoi cavartela senza uno.
Lee Meador

4

Per me per questo problema ha funzionato per:

  • rimuovere ~ / .m2
  • abilitare "Indice completo abilitato" nella visualizzazione del repository Maven sul repository centrale
  • "Rebuild Index" sul repository centrale di Maven

Dopo eclipse riavvia tutto ha funzionato bene.


3

La dipendenza add di maven è in realtà dagli indici maven. Se gli indici sono aggiornati, il risultato dovrebbe essere da lì.

Se vai al repository Maven, quindi seleziona repository globale, dovresti vedere una scheda centrale ... e selezionarla, dovrebbe esserci un elenco di cartelle e dovresti essere in grado di vedere tutti gli indici da lì. In caso contrario, significa che non hai ottenuto l'indice completo, quindi puoi fare clic con il pulsante destro del mouse e abilitare l'indice completo.

Un'altra cosa che mi ha infastidito di più è anche che ho fatto tutto, ancora non mostra nulla quando digito "primavera". In realtà è qui che ho sbagliato. Se digiti solo del testo aggiuntivo "springframework", BOOM, il risultato è lì.


1

Ho lo stesso problema. Nessuna delle opzioni suggerite sopra ha funzionato per me. Tuttavia trovo che se permettiamo di aggiungere manualmente groupid / artifact / version per org.springframework.spring-core versione 4.3.4.RELEASE e salvare il pom.xml, le dipendenze si scaricano automaticamente e la ricerca funziona per i jar già presenti nel repository. Tuttavia, se ora cerco org.springframework.spring-context, che non è nelle dipendenze correnti, questa ricerca non funziona ancora.


0

Usa https://search.maven.org/ manualmente con il prefisso fc: per cercare i nomi delle classi. Sia Netbeans che Eclipse sembrano essere troppo stupidi per usare quell'interfaccia di ricerca e i gigabyte degli indici dei repository scaricati sembrano non contenere alcuna informazione sulla classe. Totale spreco di spazio su disco. Quei progetti IDE sono stati mantenuti così male ultimamente, vorrei che spostassero lo sviluppo su GitHub.


0

È necessario fornire l'ID gruppo e l'ID artefatto per scaricare il file jar necessario. Se vuoi cercarlo, usa *, * per questi campi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.