proguard错误 Unsupported class version number [52.0] (maximum 51.0, Java 1.7)

转:http://flummox-engineering.blogspot.com/2014/06/unsupported-class-version-number-520.html


This error occurs when you are compiling Java 7 code against Java 8 sources.

Proguard 4.x Unsupported Class Version Number

Specifically got this error when compiling sbt 0.13.5, that requires proguard 4.8


> last root/proguard:proguard
[info] ProGuard, version 4.8
[info] Reading program jar [/Users/hanxue/.ivy2/cache/org.apache.ivy/ivy/jars/ivy-2.3.0.jar] (filtered)
[info] Reading program jar [/Users/hanxue/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.10.4.jar] (filtered)
[info] Reading program directory [/Users/hanxue/Github/sbt/launch/interface/target/classes] (filtered)
[info] Reading program jar [/Users/hanxue/Github/sbt/launch/target/launcher-0.13.5.jar]
[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)))
java.lang.RuntimeException: Proguard failed with nonzero exit code (1)
at scala.sys.package$.error(package.scala:27)
at scala.Predef$.error(Predef.scala:142)
at LaunchProguard$.runProguard(Proguard.scala:131)
at LaunchProguard$$anonfun$proguardTask$1$$anonfun$1.apply(Proguard.scala:120)
at LaunchProguard$$anonfun$proguardTask$1$$anonfun$1.apply(Proguard.scala:119)
at sbt.FileFunction$$anonfun$cached$1.apply(Tracked.scala:188)
at sbt.FileFunction$$anonfun$cached$1.apply(Tracked.scala:188)
at sbt.FileFunction$$anonfun$cached$2$$anonfun$apply$3$$anonfun$apply$4.apply(Tracked.scala:202)
at sbt.FileFunction$$anonfun$cached$2$$anonfun$apply$3$$anonfun$apply$4.apply(Tracked.scala:198)
at sbt.Difference.apply(Tracked.scala:177)
at sbt.Difference.apply(Tracked.scala:158)
at sbt.FileFunction$$anonfun$cached$2$$anonfun$apply$3.apply(Tracked.scala:198)
at sbt.FileFunction$$anonfun$cached$2$$anonfun$apply$3.apply(Tracked.scala:197)
at sbt.Difference.apply(Tracked.scala:177)
at sbt.Difference.apply(Tracked.scala:152)
at sbt.FileFunction$$anonfun$cached$2.apply(Tracked.scala:197)
at sbt.FileFunction$$anonfun$cached$2.apply(Tracked.scala:195)
at LaunchProguard$$anonfun$proguardTask$1.apply(Proguard.scala:123)
at LaunchProguard$$anonfun$proguardTask$1.apply(Proguard.scala:115)
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42)
at sbt.std.Transform$$anon$4.work(System.scala:64)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
at sbt.Execute.work(Execute.scala:244)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160)
at sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:744)
[error] (root/proguard:proguard) Proguard failed with nonzero exit code (1)

The same error still happens even when I use the latest Proguard, 4.11



[error] error while loading CharSequence, class file '/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar(java/lang/CharSequence.class)' is broken
[error] (bad constant pool tag 18 at byte 10)
[error] error while loading CharSequence, class file '/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar(java/lang/CharSequence.class)' is broken
[error] (bad constant pool tag 18 at byte 10)
[info] Reading program directory [/Users/hanxue/Github/sbt/launch/interface/target/classes] (filtered)
[error] error while loading CharSequence, class file '/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar(java/lang/CharSequence.class)' is broken
[error] (bad constant pool tag 18 at byte 10)
[info] Reading program jar [/Users/hanxue/Github/sbt/launch/target/launcher-0.13.5.jar]
[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)))
[error] error while loading AnnotatedElement, class file '/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar(java/lang/reflect/AnnotatedElement.class)' is broken
[error] (bad constant pool tag 18 at byte 76)
[error] error while loading AnnotatedElement, class file '/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar(java/lang/reflect/AnnotatedElement.class)' is broken
[error] (bad constant pool tag 18 at byte 76)
[error] error while loading AnnotatedElement, class file '/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar(java/lang/reflect/AnnotatedElement.class)' is broken
[error] (bad constant pool tag 18 at byte 76)
[error] error while loading Arrays, class file '/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar(java/util/Arrays.class)' is broken
[error] (bad constant pool tag 18 at byte 755)
[error] error while loading Comparator, class file '/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar(java/util/Comparator.class)' is broken
[error] (bad constant pool tag 18 at byte 20)
[error] /Users/hanxue/Github/sbt/compile/interface/src/main/scala/xsbt/ExtractAPI.scala:489: java.util.Comparator does not take type parameters
[error] private[this] val sortClasses = new Comparator[Symbol] {
[error] ^
[error] error while loading Arrays, class file '/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar(java/util/Arrays.class)' is broken
[error] (bad constant pool tag 18 at byte 755)
[error] 5 errors found
[error] error while loading Comparator, class file '/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar(java/util/Comparator.class)' is broken
[error] (bad constant pool tag 18 at byte 20)
[error] /Users/hanxue/Github/sbt/compile/interface/src/main/scala/xsbt/ExtractAPI.scala:489: java.util.Comparator does not take type parameters
[error] private[this] val sortClasses = new Comparator[Symbol] {
[error] ^
[error] 5 errors found
[error] error while loading Arrays, class file '/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar(java/util/Arrays.class)' is broken
[error] (bad constant pool tag 18 at byte 755)
[error] error while loading Comparator, class file '/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar(java/util/Comparator.class)' is broken
[error] (bad constant pool tag 18 at byte 20)
[error] /Users/hanxue/Github/sbt/compile/interface/src/main/scala/xsbt/ExtractAPI.scala:489: java.util.Comparator does not take type parameters
[error] private[this] val sortClasses = new Comparator[Symbol] {
[error] ^
[error] 5 errors found
java.lang.RuntimeException: Proguard failed with nonzero exit code (1)
at scala.sys.package$.error(package.scala:27)
at scala.Predef$.error(Predef.scala:142)
at LaunchProguard$.runProguard(Proguard.scala:131)
at LaunchProguard$$anonfun$proguardTask$1$$anonfun$1.apply(Proguard.scala:120)
at LaunchProguard$$anonfun$proguardTask$1$$anonfun$1.apply(Proguard.scala:119)
at sbt.FileFunction$$anonfun$cached$1.apply(Tracked.scala:188)
at sbt.FileFunction$$anonfun$cached$1.apply(Tracked.scala:188)
at sbt.FileFunction$$anonfun$cached$2$$anonfun$apply$3$$anonfun$apply$4.apply(Tracked.scala:202)
at sbt.FileFunction$$anonfun$cached$2$$anonfun$apply$3$$anonfun$apply$4.apply(Tracked.scala:198)
at sbt.Difference.apply(Tracked.scala:177)
at sbt.Difference.apply(Tracked.scala:158)
at sbt.FileFunction$$anonfun$cached$2$$anonfun$apply$3.apply(Tracked.scala:198)
at sbt.FileFunction$$anonfun$cached$2$$anonfun$apply$3.apply(Tracked.scala:197)
at sbt.Difference.apply(Tracked.scala:177)
at sbt.Difference.apply(Tracked.scala:152)
at sbt.FileFunction$$anonfun$cached$2.apply(Tracked.scala:197)
at sbt.FileFunction$$anonfun$cached$2.apply(Tracked.scala:195)
at LaunchProguard$$anonfun$proguardTask$1.apply(Proguard.scala:123)
at LaunchProguard$$anonfun$proguardTask$1.apply(Proguard.scala:115)
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42)
at sbt.std.Transform$$anon$4.work(System.scala:64)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
at sbt.Execute.work(Execute.scala:244)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160)
at sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:744)
[error] (root/proguard:proguard) Proguard failed with nonzero exit code (1)
[error] (precompiled-2_9_2/compile:compile) Compilation failed
[error] (precompiled-2_9_3/compile:compile) Compilation failed
[error] (precompiled-2_8_2/compile:compile) Compilation failed
[error] Total time: 42 s, completed Jun 19, 2014 1:22:40 PM

Proguard  supports Java 1.1 up to 7 at the moment .

Use Java 7

 The solution is to use Java 7 when using Proguard 4.x



自己的解决方案:

http://proguard.sourceforge.net/,下载最新的proguard版本(>=proguard V5.2).


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值