จะบังคับให้ IntelliJ IDEA โหลดการอ้างอิงซ้ำจาก build.sbt หลังจากเปลี่ยนได้อย่างไร


123

ฉันใช้ IntelliJ IDEA 13 (Community Edition) กับปลั๊กอิน Scala

การนำเข้าครั้งแรกของโครงการ Scala ที่มีอยู่ซึ่งใช้build.sbtงานได้ดี การอ้างอิงไลบรารีถูกเลือกขึ้นโดย IDEA การอ้างอิงเพิ่มเติมที่เพิ่มหลังจากไม่ได้รับการนำเข้าครั้งแรกแม้ว่าฉันจะตรวจสอบauto-importตัวเลือกแล้วก็ตาม

ฉันจะบังคับให้ IDEA โหลดการอ้างอิงซ้ำได้build.sbtอย่างไร


1
ฉันมีพฤติกรรมแบบเดียวกับที่คุณอธิบายและจากนั้นมันก็เริ่มทำงานโดยที่ฉันไม่ทำอะไรเลย ฉันรู้สึกว่าการผสานรวม sbt นั้นค่อนข้างยุ่งในตอนนี้และเราต้องอดทน
Nicolas Rinaudo

ยังไม่ได้ผลสำหรับฉัน (ม.ค. 2017)
qu1j0t3

คำตอบ:


191

คุณสามารถบังคับให้ SBT โหลดการเปลี่ยนแปลงใหม่ได้: เปิดหน้าต่างเครื่องมือ SBT (ทางด้านขวาของ IDE) แล้วกดปุ่มรีเฟรช

หากคุณใช้คุณสมบัติการนำเข้าอัตโนมัติคุณต้องบันทึกไฟล์เพื่อบังคับให้รีเฟรชอัตโนมัติ


16
วิธีการเปิดหน้าต่างเครื่องมือ SBT: stackoverflow.com/questions/32374193/… (ในกรณีที่ไม่มีใครสามารถค้นหาได้)
Kaushik Acharya


4

เมื่อวันที่ 7 ธันวาคม 2013 ปัญหาได้รับการแก้ไขแล้ว คุณต้องอัปเดตปลั๊กอิน Scala ใน IntelliJ IDEA (สิ่งนี้ใช้ได้กับทั้งชุมชนและรุ่นสูงสุด)

นี่คือลิงก์ไปยังปัญหาที่เปิดบนเว็บไซต์ชุมชนนักพัฒนา JetBrains: http://devnet.jetbrains.com/thread/451395


ดูเหมือนว่าจะไม่เกี่ยวข้องกับคำถามเดิม ข้อบกพร่องของ jetbrains ระบุว่า "เมื่อสร้างโครงการใหม่จากโครงการ SBT ที่มีอยู่" ปัญหาคือบางครั้ง IntellliJ ไม่ได้รับไลบรารีล่าสุดแม้ว่าจะเปิดใช้การนำเข้าอัตโนมัติก็ตาม ดังที่ @alefas ชี้ให้เห็นบางครั้งคุณต้องบังคับให้โหลดซ้ำ (ebven ด้วยปลั๊กอิน Scala จากปี 2018)
danio

3

อาจเป็นเพราะการตีพิมพ์org.jetbrains:sbt-structure:latest.integrationที่ไม่สมบูรณ์ซึ่งเกิดขึ้นเมื่อคืนนี้ประมาณ 4 หรือ 5 ชั่วโมงที่แล้ว ระบุว่าโพสต์ของคุณมีอายุ 4 ชั่วโมง ...

คุณสามารถดูกิจกรรมไอวี่ได้ในidea.log( ~/Library/Logs/IntelliJIdea13หรือ~/Library/Logs/IdeaIC13บน 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)

ฉันได้เปิดตั๋วที่ JetBrains


2
ดูเหมือนว่าจะมีปัญหากับ Ivy latest.integration หลังจากย้ายที่เก็บ sbt ไปยังมิเรอร์อื่น ตอนนี้ในปลั๊กอิน Scala 0.26.323 จะแก้ไขเป็นเวอร์ชันปลั๊กอินโครงสร้าง sbt (1.0.2) ที่แน่นอนและทุกอย่างควรใช้งานได้ ขอแสดงความนับถือ Alexander Podkhalyuzin
Alefas

@ เจฟฟรีย์ช่วยลิงค์ไปยังตั๋วสนับสนุนได้ไหม? การอัปเดตล่าสุดในขณะนี้ได้เพิ่มการอ้างอิงเพิ่มเติมใหม่อย่างถูกต้อง แต่ไม่ได้รับการเปลี่ยนแปลงไปยังเวอร์ชันของการอ้างอิงที่มีอยู่ (ฉันต้องเปลี่ยน. img และ .idea / libraries / SBT_SBT_ .xml ต่างๆด้วยตนเองเป็นหมายเลขเวอร์ชันใหม่) ฉันต้องการติดตามตั๋วนั้น
David B.

1
ตั๋วของฉันซ้ำกับSCL-6340
Jeffrey Aguilera


0

บางทีสิ่งนี้อาจใช้ได้กับโครงการบางประเภทเท่านั้น แต่ในกรณีของฉัน

ทางด้านห้องสมุดฉันทำในsbt:publishLocal

ในฝั่งไคลเอ็นต์ที่ไลบรารีเข้าไปฉันคลิกรายการเมนูBuild -> Build (Ctrl-F9)และบางครั้งเมื่อเปิดไฟล์หรือ Intellisens ยังไม่เป็นปัจจุบันฉันจะทำCtrl-Alt-Y(รายการเมนูFile -> Synchronize) เพื่อรับไฟล์ที่สะท้อนถึงฐานรหัสที่รีเฟรช

ไม่ต้องrefresh all sbt projectsเร็วกว่าสำหรับฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.