Come forzare IntelliJ IDEA a ricaricare le dipendenze da build.sbt dopo che sono state modificate?


123

Sto usando IntelliJ IDEA 13 (Community Edition) con il plugin Scala.

La mia importazione iniziale di un progetto Scala esistente con un build.sbtbuon funzionamento. Le dipendenze della libreria sono state rilevate da IDEA. Le dipendenze aggiuntive aggiunte dopo l'importazione iniziale non sono state rilevate, sebbene avessi selezionato l' auto-importopzione.

Come posso forzare IDEA a ricaricare le dipendenze da build.sbt?


1
Ho avuto lo stesso identico comportamento che descrivi e poi ha iniziato a funzionare senza che io facessi nulla. Ho l'impressione che l'integrazione di SBT sia un po 'un disastro in questo momento e dobbiamo solo essere pazienti.
Nicolas Rinaudo

Ancora non funziona per me (gennaio 2017).
qu1j0t3

Risposte:


191

Puoi forzare SBT a ricaricare le modifiche: Apri la finestra degli strumenti SBT (sul lato destro dell'IDE) e premi il pulsante di aggiornamento.

Se utilizzi la funzione di importazione automatica, devi salvare il file per forzare l'aggiornamento automatico.


16
Ecco come aprire la finestra dello strumento SBT: stackoverflow.com/questions/32374193/… (nel caso in cui qualcun altro non sia disponibile per trovarlo)
Kaushik Acharya

12

SE il plugin si "blocca", aiuta a invalidare la cache (nel menu file) e riavviare intellij.


4

A partire dal 7 dicembre 2013, il problema è stato risolto. È necessario aggiornare il plug-in Scala in IntelliJ IDEA (questo vale sia per la community che per le edizioni ultimate).

Questo è il collegamento al problema aperto sul sito web della comunità degli sviluppatori JetBrains: http://devnet.jetbrains.com/thread/451395


Questo sembra estraneo alla domanda originale. Il bug di jetbrains dice "Quando si crea un nuovo progetto, da un progetto SBT esistente". Il problema è che IntellliJ a volte non ottiene le librerie più recenti, anche con l'importazione automatica abilitata. Come sottolinea @alefas, a volte devi forzare il ricaricamento (ebven con un plug-in Scala dal 2018).
danio

3

Ciò potrebbe essere dovuto a una pubblicazione interrotta di org.jetbrains:sbt-structure:latest.integration quella avvenuta stasera, circa 4 o 5 ore fa. Dato che il tuo post è di 4 ore ...

Puoi vedere l'attività dell'edera in idea.log( ~/Library/Logs/IntelliJIdea13o ~/Library/Logs/IdeaIC13su OSX).

[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.jetbrains#sbt-structure;latest.integration: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn]  Note: Some unresolved dependencies have extra attributes.  Check that these dependencies exist with the requested attributes.
[warn]          org.jetbrains:sbt-structure:latest.integration (sbtVersion=0.13, scalaVersion=2.10)

Ho aperto un ticket su JetBrains.


2
Sembra che sia stato un problema con il file latest.integration di Ivy, dopo che il repository sbt è stato spostato su un altro mirror. Ora nel plugin Scala 0.26.323 si risolve esattamente nella versione del plugin con struttura sbt (1.0.2) e tutto dovrebbe funzionare. Cordiali saluti, Alexander Podkhalyuzin.
Alefas

@ Jeffrey, potresti collegarti al ticket di supporto? L'ultimo aggiornamento ora aggiunge correttamente nuove dipendenze aggiuntive, ma non raccoglie modifiche alla versione di una dipendenza esistente (devo modificare manualmente i vari .iml e .idea / libraries / SBT_SBT_ .xml con il nuovo numero di versione). Vorrei dare seguito a quel biglietto.
David B.

1
Il mio biglietto era un duplicato di SCL-6340
Jeffrey Aguilera


0

Forse funziona solo per qualche tipo di progetto, ma nel mio caso,

lato Biblioteca, faccio in sbt:publishLocal

sul lato client in cui si trova la libreria, faccio clic sulla voce di menu Build -> Build (Ctrl-F9)e, a volte, quando i file aperti o gli Intellisens non sono ancora aggiornati, faccio Ctrl-Alt-Y(voce di menu File -> Synchronize) per ottenere il file che riflette la base di codice aggiornata.

Non doverlo fare refresh all sbt projectsè più veloce per me.

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.