2011-12-27 13 views
48

Quando carico uno spazio di lavoro (per lo sviluppo Android Java), Eclipse dice nella barra di stato che sta aggiornando gli indici. La scheda Avanzamento segnala che sta colpendo maven.org.Cosa fa Eclipse quando dice che sta aggiornando gli indici?

Ho letto su Maven - sembra un direttore di costruzione. Quello che non capisco è perché il mio spazio di lavoro Android ne ha bisogno o perché sta colpendo il server nel cloud. Ne ho bisogno? In caso contrario, come posso rimuoverlo in sicurezza?

enter image description here

+0

Questo spazio di lavoro è sotto controllo di versione? – Cratylus

+0

@ user384706 È, tramite il plugin Vault per Eclipse. – AngryHacker

risposta

91

Questo è un passo generale che si verifica quando è installato M2E/m2eclipse (integrazione Maven per Eclipse), se i progetti utilizzano attivamente o meno.

Questo passaggio può essere disabilitato tramite le preferenze di Eclipse: Finestra/Preferenze/Maven/"Scarica aggiornamenti indice repository all'avvio". Questa opzione si trova nella pagina delle preferenze "Maven" principale (non in una pagina secondaria). Deseleziona la casella per evitare che ciò accada.

Eclipse m2e Disable repository index updates on startup

Il file che si sta scaricando è un indice di tutte le dipendenze disponibili disponibili nel repository centrale Maven per l'utilizzo in progetti Maven abilitati, consentendo loro di essere facilmente scelti e cercati contro all'interno dell'interfaccia utente di Eclipse . È principalmente una comodità dell'utente e non è obbligatorio.

+3

Ma perché ci vogliono maledette epoche mentre questo thread viene eseguito con priorità elevata? iostat mostra che occupa fino all'80% dell'ampiezza di banda IO e CPU e mette a dura prova le prestazioni della mia macchina in ginocchio. Sembra eseguire java.io.RandomAccessFile.readBytes(). – divanov

+0

Eclipse è un campo minato, ogni funzionalità viene fornita con un carico di errori e avvertimenti, la semplice idea di eseguire l'indicizzazione del repository sullo stesso thread che serve la richiesta dell'interfaccia utente è completamente inaccettabile. – PierluigiVernetto

+0

@PierluigiVernetto No, questo non viene eseguito sul thread dell'interfaccia utente. Questo processo può essere fermato o disabilitato (facendo riferimento allo screenshot pubblicato). Il repository centrale di Maven è enorme e il mantenimento di un indice locale è un processo piuttosto significativo. Gli utenti finali possono decidere se questo costo di manutenzione vale il vantaggio/comodità dell'utente per cercare e scegliere facilmente gli ID artefatto dal repository centrale Maven. (Sui miei sistemi, non noto nemmeno un impatto sulle prestazioni degli aggiornamenti.) – ziesemer