Bagaimana cara memaksa IntelliJ IDEA untuk memuat ulang dependensi dari build.sbt setelah diubah?

123

Saya menggunakan IntelliJ IDEA 13 (Community Edition) dengan plugin Scala.

Impor awal saya dari proyek Scala yang ada dengan build.sbtbekerja dengan baik. Ketergantungan perpustakaan diambil oleh IDEA. Dependensi tambahan yang ditambahkan setelah impor awal tidak diambil, meskipun saya telah memeriksa auto-importopsinya.

Bagaimana cara memaksa IDEA untuk memuat ulang dependensi dari build.sbt?

David B.
sumber
1
Saya memiliki perilaku yang sama persis seperti yang Anda gambarkan, dan kemudian perilaku itu mulai bekerja tanpa saya melakukan apa pun. Saya mendapat kesan bahwa integrasi sbt agak berantakan saat ini dan kami hanya perlu bersabar.
Nicolas Rinaudo
Masih tidak berhasil untuk saya (Jan 2017).
qu1j0t3

Jawaban:

191

Anda dapat memaksa SBT untuk memuat ulang perubahan: Buka jendela alat SBT (di sisi kanan IDE) dan tekan tombol segarkan.

Jika Anda menggunakan fitur impor otomatis, Anda perlu menyimpan file Anda untuk memaksa penyegaran otomatis.

Alefas
sumber
16
Berikut cara membuka jendela alat SBT: stackoverflow.com/questions/32374193/… (jika ada orang lain yang tidak dapat menemukannya)
Kaushik Acharya
12

JIKA plugin 'macet' itu membantu untuk membatalkan cache (di bawah menu file) dan restart intellij.

mary jane
sumber
4

Mulai 7 Desember 2013, masalah tersebut telah teratasi. Anda perlu memperbarui plugin Scala di IntelliJ IDEA (ini berlaku untuk komunitas dan edisi pamungkas).

Ini adalah tautan ke masalah yang dibuka di situs web komunitas pengembang JetBrains: http://devnet.jetbrains.com/thread/451395

David Riccitelli
sumber
Ini sepertinya tidak berhubungan dengan pertanyaan awal. Bug jetbrains mengatakan "Saat membuat proyek baru, dari proyek SBT yang ada". Masalahnya adalah IntellliJ terkadang tidak mendapatkan pustaka terbaru, bahkan dengan impor otomatis diaktifkan. Seperti yang ditunjukkan @alefas, terkadang Anda harus memuat ulang paksa (ebven dengan plugin Scala dari 2018).
danio
3

Ini mungkin karena publikasi yang rusak dari org.jetbrains:sbt-structure:latest.integration yang terjadi malam ini, sekitar 4 atau 5 jam yang lalu. Mengingat postingan Anda berumur 4 jam ...

Anda dapat melihat aktivitas ivy di idea.log( ~/Library/Logs/IntelliJIdea13atau ~/Library/Logs/IdeaIC13di 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)

Saya telah membuka tiket di JetBrains.

Jeffrey Aguilera
sumber
2
Sepertinya itu masalah dengan Ivy latest.integration, setelah repositori sbt dipindahkan ke mirror lain. Sekarang di plugin Scala 0.26.323 itu memutuskan ke versi plugin sbt-structure yang tepat (1.0.2), dan semuanya harus berfungsi. Salam, Alexander Podkhalyuzin.
Alefas
@Jeffrey, dapatkah Anda menautkan ke tiket dukungan? Pembaruan terbaru sekarang dengan benar menambahkan dependensi tambahan baru, tetapi tidak mengambil perubahan ke versi dependensi yang ada (saya harus mengubah secara manual berbagai .iml dan .idea / libraries / SBT_SBT_ .xml ke nomor versi baru). Saya ingin menindaklanjuti tiket itu.
David B.
1
Tiket saya adalah duplikat dari SCL-6340
Jeffrey Aguilera
0

Mungkin ini hanya berfungsi untuk beberapa jenis proyek, tetapi dalam kasus saya,

di sisi Perpustakaan, saya lakukan di sbt:publishLocal

di sisi Klien tempat Perpustakaan masuk, saya mengklik item menu Build -> Build (Ctrl-F9), dan kadang-kadang, ketika File atau Intellisens yang terbuka belum terkini, saya melakukan Ctrl-Alt-Y(item Menu File -> Synchronize) untuk mendapatkan file yang mencerminkan basis kode yang diperbarui.

Tidak harus refresh all sbt projectslebih cepat bagi saya.

Hartmut P.
sumber