Como forçar o IntelliJ IDEA a recarregar dependências do build.sbt após a alteração?

122

Estou usando o IntelliJ IDEA 13 (Community Edition) com o plug-in Scala.

Minha importação inicial de um projeto Scala existente com uma build.sbtmulta funcionou. As dependências da biblioteca foram identificadas pelo IDEA. Dependências adicionais adicionadas após a importação inicial não foram selecionadas, embora eu tenha marcado a auto-importopção.

Como forçar a IDEA a recarregar as dependências build.sbt?

David B.
fonte
1
Eu tive exatamente o mesmo comportamento que você está descrevendo e começou a funcionar sem eu fazer nada. Estou com a impressão de que a integração sbt está um pouco bagunçada no momento e precisamos apenas ser pacientes.
Nicolas Rinaudo 6/12/2013
Ainda não está funcionando para mim (jan 2017).
qu1j0t3

Respostas:

190

Você pode forçar o SBT a recarregar as alterações: Abra a janela da ferramenta SBT (no lado direito do IDE) e pressione o botão Atualizar.

Se você usar o recurso de importação automática, precisará salvar seu arquivo para forçar a atualização automática.

Alefas
fonte
16
Veja como abrir a janela ferramenta SBT: stackoverflow.com/questions/32374193/... (no caso de alguém está indisponível para encontrá-lo)
Kaushik Acharya
11

Se o plugin ficar 'travado', ajuda a invalidar o cache (no menu arquivo) e reiniciar o intellij.

Mary Jane
fonte
4

Em 7 de dezembro de 2013, o problema foi resolvido. Você precisa atualizar o plug-in Scala no IntelliJ IDEA (isso se aplica às edições community e ultimate).

Este é o link para o problema aberto no site da comunidade de desenvolvedores JetBrains: http://devnet.jetbrains.com/thread/451395

David Riccitelli
fonte
Isso parece não ter relação com a pergunta original. O bug do jetbrains diz "Ao criar um novo projeto, a partir de um projeto existente do SBT". O problema é que o IntellliJ às vezes não recebe as bibliotecas mais recentes, mesmo com a importação automática ativada. Como o @alefas aponta, às vezes você precisa forçar a recarga (ebven com um plug-in Scala de 2018).
Danio
3

Isso pode ser devido a uma publicação quebrada de org.jetbrains:sbt-structure:latest.integration ocorrido hoje à noite, cerca de 4 ou 5 horas atrás. Dado que sua postagem tem 4 horas ...

Você pode ver a atividade da hera em idea.log( ~/Library/Logs/IntelliJIdea13ou ~/Library/Logs/IdeaIC13no 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)

Abri um ticket no JetBrains.

Jeffrey Aguilera
fonte
2
Parece que houve um problema com o Ivy latest.integration, depois que o repositório sbt foi movido para outro espelho. Agora, no plugin Scala 0.26.323, ele resolve a versão exata do plugin sbt-structure (1.0.2), e tudo deve funcionar. Atenciosamente, Alexander Podkhalyuzin.
28413 Alefas
@ Jeffrey, você poderia criar um link para o tíquete de suporte? A atualização mais recente agora adiciona corretamente novas dependências adicionais, mas não captura alterações na versão de uma dependência existente (eu tenho que alterar manualmente os vários .iml e .idea / libraries / SBT_SBT_ .xml no novo número da versão). Eu gostaria de acompanhar esse ingresso.
David B.
1
Meu bilhete era uma duplicata do SCL-6340
Jeffrey Aguilera
0

Talvez isso funcione apenas para algum tipo de projeto, mas no meu caso,

no lado da biblioteca, eu faço sbt :publishLocal

no lado do cliente em que a biblioteca entra, clico no item de menu Build -> Build (Ctrl-F9)e, às vezes, quando os arquivos abertos ou o Intellisens ainda não estão atualizados, eu faço Ctrl-Alt-Y(item de menuFile -> Synchronize ) para obter o arquivo refletindo a base de código atualizada.

Não precisar refresh all sbt projectsé mais rápido para mim.

Hartmut P.
fonte