2014-04-19 6 views
20

मैं एक्स 10.9.2 पर मैक ओएस हूँ और 0.13.3-SNAPSHOT एसबीटी (स्रोतों से निर्मित) , जावा 8 और sbt-proguard 0.2.2 प्लगइन।ProGuard कहते असमर्थित वर्ग संस्करण संख्या [52.0] (अधिकतम 51.0, जावा 1.7) एसबीटी-ProGuard साथ

एसबीटी 0.13.3-SNAPSHOT

[jacek]> sbtVersion 
[info] 0.13.3-SNAPSHOT 

जावा 8

$ /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/bin/java -version 
java version "1.8.0" 
Java(TM) SE Runtime Environment (build 1.8.0-b132) 
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode) 

परियोजना/plugins.sbt

addSbtPlugin("com.typesafe.sbt" % "sbt-proguard" % "0.2.2") 

जब मैं 012 भाग गया एसबीटी मेंइसे उड़ा दिया शैल निम्न अपवादों के साथ:

[sbt-updates]> show proguard:proguard 
[info] ProGuard, version 4.9 
[info] Reading program directory [/Users/jacek/oss/sbt-updates/target/scala-2.10/sbt-0.13/classes] (filtered) 
[info] Reading program jar [/Users/jacek/.ivy2/cache/org.scalaz/scalaz-concurrent_2.10/bundles/scalaz-concurrent_2.10-7.1.0-M6.jar] (filtered) 
[info] Reading program jar [/Users/jacek/.sbt/boot/scala-2.10.3/lib/scala-library.jar] (filtered) 
[info] Reading program jar [/Users/jacek/.ivy2/cache/org.scalaz/scalaz-core_2.10/bundles/scalaz-core_2.10-7.1.0-M6.jar] (filtered) 
[info] Reading program jar [/Users/jacek/.ivy2/cache/org.scalaz/scalaz-effect_2.10/bundles/scalaz-effect_2.10-7.1.0-M6.jar] (filtered) 
[info] Reading library jar [/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar] 
[error] Error: Can't read [/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar] (Can't process class [apple/applescript/AppleScriptEngine.class] (Unsupported class version number [52.0] (maximum 51.0, Java 1.7))) 
[trace] Stack trace suppressed: run last proguard:proguard for the full output. 
[error] (proguard:proguard) Proguard failed with exit code [1] 
[error] Total time: 16 s, completed Apr 19, 2014 2:27:56 PM 

त्रुटि के लिए कारण क्यों हो सकता है?

उत्तर

8

ऐसा प्रतीत होता है कि ProGuard और इसलिए sbt-proguard जावा 8 का समर्थन नहीं करता है और एसबीटी की मदद के लिए स्क्रिप्ट में उपयोग किए गए जावा के संस्करण को बदलता है।

[sbt-updates]> show proguard:proguard 
[info] Compiling 8 Scala sources to /Users/jacek/oss/sbt-updates/target/scala-2.10/sbt-0.13/classes... 
[warn] there were 6 feature warning(s); re-run with -feature for details 
[warn] one warning found 
[info] ProGuard, version 4.9 
[info] Reading program directory [/Users/jacek/oss/sbt-updates/target/scala-2.10/sbt-0.13/classes] (filtered) 
[info] Reading program jar [/Users/jacek/.ivy2/cache/org.scalaz/scalaz-concurrent_2.10/bundles/scalaz-concurrent_2.10-7.1.0-M6.jar] (filtered) 
... 

यह के निम्न संस्करण जावा 7 साथ है: एक नए स्थापित करने के लिए महत्वपूर्ण proguardVersionbuild.sbt में बदलकर Proguard के संस्करण को अद्यतन करने के लिए

$ /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin/java -version 
java version "1.7.0_51" 
Java(TM) SE Runtime Environment (build 1.7.0_51-b13) 
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode) 
+0

Proguard समर्थन जावा 8 करता है, लेकिन मैं एसबीटी-ProGuard का उपयोग नहीं किया है, मैं अंत में जार समझ से परे के बाद विरूपण साक्ष्य अपने निर्माण की प्रक्रिया में एक मंच के रूप में बनाया गया था। आप मेरा पूरा उत्तर यहां देख सकते हैं: https://stackoverflow.com/questions/24670430/sbt-proguard-with-play-2-2-3/40247770#40247770 – Tom

संबंधित मुद्दे