2012-05-28 6 views
5

मैं एक परियोजना में अच्छी तरह से यूनिक्स बॉक्स (http://www.github.com/jhclark/ducttape) पर आधारित है, की है।पर OSX स्काला एसबीटी/Maven2 त्रुटि: "खोलने में त्रुटि ज़िप फ़ाइल" -> MissingRequirementError

हालांकि, एसबीटी 0.11.2 (और एसबीटी के कुछ अन्य संस्करणों) का उपयोग कर, उस पर मेरी मैक (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, जो एसबीटी निर्भरता प्रबंधन के लिए उपयोग करता है में हो रहा है (Maven : error in opening zip file when running maven भी देखें)।

हालांकि, मैं कई दिनों के बाद स्टंप हो गया हूं। कोई विचार?

+0

एसबीटी निर्भरता प्रबंधन के लिए आइवी लता का उपयोग करता है, maven नहीं (लेकिन अपने निर्भरता एक Maven रेपो से आ सकता है) ... – Christian

उत्तर

7

मैं इसी तरह की समस्याओं था जब एसबीटी-0.11.3 साथ sbt-extras लांचर के एक पुराने संस्करण का उपयोग करने का प्रयास। मेरे मामले में, इसने एक फ़ाइल डाउनलोड करने का प्रयास किया जो मौजूद नहीं था, और 404 त्रुटि पृष्ठ को अनजिप करने का प्रयास किया। Sbt-0.11.3 के लिए सबसे हालिया एसबीटी-एक्स्ट्रा लॉन्चर has been fixed

आपका लगता है अलग है, लेकिन वे the shutdown of scala-tools.org के कारण हो सकते हैं। यदि आप कर सकते हैं, तो मैं sbt-0.11.3 में अपग्रेड करने की अनुशंसा करता हूं।

आप 0.11.2 उपयोग करने के लिए जारी रखने के लिए की जरूरत है, तो आप 0.11.3-2 लांचर का उपयोग करना चाहिए, project/build.properties में sbt.version=0.11.2 रखा, और अपने build.sbt में scalaTools रेपो अक्षम करें। एसबीटी मेलिंग सूची पर मार्क हाराह posted info

यदि यह मदद नहीं करता है, तो आप डाउनलोड कर रहे हैं किसी कारण से कहीं से भ्रष्ट .jar रों।

यह पता लगाने के लिए कि कौन से जार दूषित हैं, find ~/.ivy2 ~/.m2 ~/.sbt -name "*.jar" -exec unzip -qqt {} \; कमांड चलाएं। भ्रष्ट जार की सामग्री आपको गलत होने के कारण एक सुराग दे सकती है।

+0

यह समाधान भी लिनक्स पर इसी तरह के मुद्दों को ठीक करता। धन्यवाद डेव! – Gopinath

+0

यह परीक्षण unzip कमांड मेरी समस्या को ठीक करता है। ऐसा लगता है कि इस तरह के मुद्दे कटा हुआ जार फ़ाइलों के कारण होते हैं। – hsc

2

पूरा होने के लिए, मुझे एक ही समस्या थी और यह एक भ्रष्ट ज़िप/जार फ़ाइल थी।

हालांकि, डेव की कमांड लाइन सामान्य क्लासपाथ निर्देशिकाओं के लिए जांचती है, जहां आपका जार हो सकता है।

भी मुझे मुसीबतों के कारण अपनी परियोजनाओं ./lib फ़ोल्डर में वास्तव में था। मैंने घंटों तक इस के साथ संघर्ष किया, उम्मीद है कि यह किसी और की मदद कर सकता है।

पीएस: बहुत बहुत धन्यवाद डेव!

1

मुझे बस एक ही समस्या थी (ओएसएक्स पर, और स्कैला 2.10.2 के साथ), लेकिन समस्या मेरे किसी भी निर्भरता प्रबंधक प्रतिनिधि, या एसबीटी या स्कैला (कुछ लोगों के लिए) में नहीं हुई।

मैं में एक जार रखा था/पुस्तकालय/जावा/घर/lib/ext/अन्य कारणों के लिए है, लेकिन यह समूह- और दुनिया पठनीय नहीं किया। केवल रूट (यह मालिक है) इसे पढ़ सकता है। मैंने अनुमतियों और voila tweaked। स्कैला और एसबीटी अचानक फिर से काम करते हैं।

cd /Library/Java/Home/lib/ext 
sudo chmod g+r bcprov-jdk15on-1.47.jar 
sudo chmod g+a bcprov-jdk15on-1.47.jar 
संबंधित मुद्दे