ข้อผิดพลาด Scala SBT / Maven2 บน OSX: เกิดข้อผิดพลาดในการเปิดไฟล์ซิป - & gt; MissingRequirementError

ฉันมีโครงการที่สร้างได้ดีบนกล่อง Unix (http://www.github.com/jhclark/ducttape)

อย่างไรก็ตาม เมื่อใช้ SBT 0.11.2 (และ SBT เวอร์ชันอื่นๆ บางเวอร์ชัน) จะไม่สร้างบน Mac ของฉัน (OSX 10.5) ฉันได้รับข้อความแสดงข้อผิดพลาดที่เป็นความลับต่อไปนี้:

$ ~/bin/sbt compile                                       (master*? 20:11)
[info] Loading project definition from /Users/jon/Documents/workspace-    scala/ducttape/project
[info] Set current project to ducttape (in build file:/Users/jon/Documents/workspace-scala/ducttape/)
[info] Compiling 104 Scala sources to /Users/jon/Documents/workspace-scala/ducttape/target/scala-2.9.2/classes...
[error] error while loading <root>, error in opening zip file
[error] {file:/Users/jon/Documents/workspace-scala/ducttape/}default-024416/compile:compile: scala.tools.nsc.MissingRequirementError: object scala not found.
[error] Total time: 2 s, completed May 27, 2012 8:12:09 PM

สิ่งนี้จะเกิดขึ้นแม้ว่าฉันจะทำความสะอาดสิ่งต่าง ๆ อย่างละเอียดด้วย:

sbt clean clean-files
rm -rf ~/.ivy2 ~/.m2 ~/.sbt

ฉันสงสัยว่าเกิดข้อผิดพลาดจริงใน Maven2 ซึ่ง SBT ใช้สำหรับการจัดการการพึ่งพา (ดู Maven : เกิดข้อผิดพลาดในการเปิดไฟล์ zip เมื่อเรียกใช้ maven)

อย่างไรก็ตาม ฉันรู้สึกนิ่งงันหลังจากผ่านไปหลายวัน มีความคิดอะไรบ้าง?


person jhclark    schedule 28.05.2012    source แหล่งที่มา
comment
sbt ใช้ ivy สำหรับการจัดการการพึ่งพา ไม่ใช่ maven (แต่การพึ่งพาของคุณอาจมาจาก repo maven) ...   -  person Christian    schedule 28.05.2012


คำตอบ (3)


ฉันประสบปัญหาคล้ายกันเมื่อพยายามใช้ sbt-extras launcher เวอร์ชันเก่าที่มี sbt-0.11.3 ในกรณีของฉัน มันพยายามดาวน์โหลดไฟล์ที่ไม่มีอยู่ และพยายามแตกไฟล์หน้าข้อผิดพลาด 404 ตัวเรียกใช้งาน sbt-extras ล่าสุด ได้รับการแก้ไขแล้วสำหรับ sbt-0.11.3

ฟังดูแตกต่างออกไป แต่อาจเกิดจากการการปิดตัวของ scala-tools.org. หากทำได้ ฉันแนะนำให้อัปเกรดเป็น sbt-0.11.3

หากคุณต้องการใช้ 0.11.2 ต่อไป คุณควรใช้ Launcher 0.11.3-2 ใส่ sbt.version=0.11.2 ใน project/build.properties และปิดการใช้งาน scalaTools repo ใน build.sbt ของคุณ Mark Harrah โพสต์ข้อมูลในรายชื่ออีเมล SBT

หากวิธีนี้ไม่ได้ผล ด้วยเหตุผลบางประการ คุณกำลังดาวน์โหลด .jars ที่เสียหายจากที่ไหนสักแห่ง

รันคำสั่ง find ~/.ivy2 ~/.m2 ~/.sbt -name "*.jar" -exec unzip -qqt {} \; เพื่อค้นหาว่า jar ใดเสียหาย สิ่งที่บรรจุอยู่ในขวดที่เสียหายอาจทำให้คุณรู้ว่าเกิดอะไรขึ้น

person leedm777    schedule 29.05.2012
comment
โซลูชันนี้แก้ไขปัญหาที่คล้ายกันบน Linux ด้วย ขอบคุณเดฟ! - person Gopinath; 19.09.2014
comment
คำสั่ง unzip ทดสอบนี้แก้ไขปัญหาของฉัน ดูเหมือนว่าปัญหาประเภทนี้จะเกิดจากไฟล์ jar ที่ถูกตัดทอน - person hsc; 18.12.2017

เพื่อให้เสร็จสมบูรณ์ ฉันประสบปัญหาเดียวกันและเป็นไฟล์ zip/jar ที่เสียหาย

อย่างไรก็ตาม บรรทัดคำสั่งของ Dave จะตรวจสอบไดเร็กทอรี classpath ปกติซึ่ง jar ของคุณอาจอยู่

สาเหตุที่ทำให้ฉันมีปัญหาจริงๆ แล้วอยู่ในโฟลเดอร์โปรเจ็กต์ ./lib ของฉัน ฉันต่อสู้กับสิ่งนี้มาหลายชั่วโมง หวังว่านี่อาจช่วยคนอื่นได้

PS: ขอบคุณมากเดฟ!

person Pablo Fernandez    schedule 09.04.2013

ฉันเพิ่งมีปัญหาเดียวกัน (บน OSX และกับ Scala 2.10.2) แต่ปัญหากลับกลายเป็นว่าไม่อยู่ใน repos ผู้จัดการการพึ่งพาใด ๆ ของฉันหรือกับ SBT หรือ Scala (สำหรับบางคน)

ฉันใส่ JAR ลงใน /Library/Java/Home/lib/ext/ ด้วยเหตุผลอื่น แต่ไม่ได้ทำให้เป็นแบบกลุ่มและทั่วโลก มีเพียงรูท (เจ้าของ) เท่านั้นที่สามารถอ่านได้ ฉันปรับแต่งการอนุญาตและ voila จู่ๆ Scala และ SBT ก็กลับมาทำงานอีกครั้ง

cd /Library/Java/Home/lib/ext
sudo chmod g+r bcprov-jdk15on-1.47.jar
sudo chmod g+a bcprov-jdk15on-1.47.jar
person danielpcox    schedule 30.08.2013