Intelli J IDEA impiega un'eternità per aggiornare gli indici


112

È normale che Intelli J impieghi molto tempo (quasi 12 ore) per aggiornare gli indici di un progetto? Ho appena installato Intelli J sulla mia macchina e ho importato un progetto Maven piuttosto grande (13k + file).

Capisco che il progetto è grande ma ho lasciato il mio computer acceso tutta la notte e quando mi sono svegliato la mattina, Intelli J non ha ancora finito di aggiornare gli indici per i file, il che rende impossibile fare qualsiasi cosa dal popup con il titolo "Indice in aggiornamento" rimane appeso al centro dello schermo.


2
Quanta memoria hai allocato a IntelliJ ? Non ho progetti con così tanti file sorgente, ma trovo che sia un po 'improbabile che dovrebbe richiedere così tanto tempo.
Dave Newton

@ DaveNewton ho assegnato 512 milioni per questo.
0x56794E

1
@abcXYZ In nessun posto abbastanza vicino; Non proverei nemmeno con qualcosa sotto 1G. Controlla se stai distruggendo VM.
Dave Newton

Dovresti contattare l'assistenza JetBrains. Sono relativamente bravi nel supportare problemi come questo, anche per gli utenti CE.
noahlz

1
A volte, puoi avviare intellij dalla riga di comando. Potrebbe richiedere le credenziali git.
GabLeRoux

Risposte:


112

Ci sono diverse risposte nei forum per diverse versioni di IntelliJ, ecco cosa ho provato (IntelliJ 13).

  • Dai più memoria. Non aiuta nulla con l '"Aggiornamento indici"
  • Elimina .idea e iml nel progetto. Non aiuta.

Alla fine, ciò che ha risolto il mio problema con "Aggiornare gli indici" è stato:

  • elimina la cartella "cache" in user / .IntellIJIdea13 / system /

66
Grazie! Penso che File / Invalidate Cachesfaccia lo stesso. Mi ha aiutato.
Pavel Vlasov

1
Hai risparmiato molto tempo per me! Grazie
Daria

sei un salvavita.
blackiii

La mia idea di intellij in realtà ha iniziato ad aggiornare gli indici dopo aver invalidato le cache, quindi ho finito per aspettare più di un'ora per davvero, ma poi è andato tutto bene.
Settembre GH

68

Ho provato a cancellare la cache e funziona perfettamente. Grazie per la soluzione amici.

Appena:

  1. Apri IntelliJ IDEA
  2. Seleziona il menu File
  3. Seleziona il menu Invalidate Caches / Restart ....
    Una volta selezionato, viene visualizzato un pop-up con un sacco di opzioni.
  4. Seleziona Invalida e riavvia
    e prima di farlo assicurati di aver salvato tutte le modifiche altrimenti potrebbe eliminare alcune modifiche non salvate.

Una volta premuto, IntelliJ si riavvierà e potrai vedere che tutta l'indicizzazione viene eseguita molto velocemente.


Queste raccomandazioni non fanno alcuna differenza per me. Ho una cosa mostruosa composta da 75 moduli e migliaia di file sorgente e altro casino casuale. Comunque proverò anche a casa. Grazie.
Richard Gomes

Ha funzionato come un fascino. Grazie
Alex Theedom

14

Elimina le cache nella cartella della libreria

rm -rv ~/Library/Caches/IdeaIC15/caches/

Su Mac OSX la posizione della cache è ~/Library/Caches


Questa posizione ~ / Library potrebbe essere valida solo sulla tua workstation, suppongo.
Richard Gomes

Modificato. Grazie per il suggerimento
Shubham Chaudhary

La mia situazione è che ho installato sia la versione definitiva che quella comunitaria. E ho aperto i progetti utilizzando prima la versione definitiva. Solo l'eliminazione delle cache non ha funzionato per me. Devo eliminare le cache e riavviare il sistema, il che risolve il problema di indicizzazione.
Michelle

3

Ho avuto lo stesso problema con IntelliJ 2017.2.3, ovvero il mio progetto avrebbe continuato ad aggiornare gli indici più e più volte.

Ho scoperto di aver superato la mia quota disco nella mia directory home. Per impostazione predefinita, IntelliJ memorizza gli indici nella directory home in questo modo:

~/.IdeaIC2017.2/system/index/

La soluzione per me era:

  1. Esci da IntelliJ
  2. Sposta l'intera directory .IdeaIC2017.2 su un altro supporto che abbia più spazio:

    mkdir /space/ideaConfig
    mv ~/.IdeaIC2017.2 /space/ideaConfig/IdeaIC
  3. Aggiorna bin/idea.propertiesin modo che punti alla nuova posizione index / config:

    idea.config.path=/space/ideaConfig/IdeaIC/config
    idea.system.path=/space/ideaConfig/IdeaIC/system

È possibile che alcune delle altre risposte a questa domanda fossero dovute allo stesso problema e siano state inavvertitamente risolte "eliminando la cartella delle cache", "invalidando le cache" ecc. Che avrebbero potenzialmente liberato spazio su disco sufficiente per creare gli indici.


1

Sebbene le risposte accettate e altre risposte possano risolvere un problema particolare, ho riscontrato che il problema con tempi di indicizzazione molto lunghi spesso deriva dal fatto che un repository contiene o si collega a una directory che contiene un gran numero di file. Spesso questo viene fatto per il test e la directory in questione non fa effettivamente parte del progetto, ad esempio ignorata dal VCS.

L'IDE non ignora automaticamente quelle directory durante l'indicizzazione, ma è possibile "escludere" la directory dal progetto. Ciò impedirà anche l'indicizzazione.


1

Immagino che Idea sia più raccogliere spazzatura che svolgere un lavoro utile. Usa G1 GC invece del valore predefinito.

Aiuto - Modifica le opzioni della VM personalizzata

-XX:+UseG1GC

invece di

-XX:+UseConcMarkSweepGC

e ovviamente riavvia Idea.

Svantaggio: G1 cerca di raccogliere i rifiuti prima di interrompere il processo. È folle, ma è quello che fa. Per un programma con 16G di heap, la pulizia ha richiesto 27 minuti. Quindi non configurare la tua Idea per utilizzare un heap 16G.


1

il modo più semplice è il seguente: file -> impostazioni -> (deseleziona) Sincronizza i file all'attivazione del frame o della scheda dell'editor.

inserisci qui la descrizione dell'immagine


0

probabilmente - vecchio bug nel sistema di caching. succede in TUTTE le versioni, specialmente se aggiorni la tua versione di IntelliJ o JDK. Per risolverlo: 1) chiudere la GUI. 2) vai su% HOME_DIR% .IntelliJIdeaXXXX \ system \ caches ed eliminalo 3) avvia nuovamente la GUI.

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.