2011-05-28 37 views
7

使用ProGuard将类文件版本49.0中的一些jar文件“升级”到50.0。如何检查类文件版本50.0(Java 6)是否已经过预验证?

由于预校验对于版本50.0是可选的,我不知道是否有办法检查类文件是否真的有StackMapTable属性。

(这不是我不信任ProGuard“[...]以下选项将类文件升级到Java 6,通过更新其内部版本号和预验证它们。”但我想了解如何验证StackMapTable的存在。)

+0

soo你没有源,你不能编译它与Java 6编译器? – anfy2002us 2011-05-28 15:12:04

+0

我在Scala中使用它,'scalac'目前只为Java 5(49.0)生成代码。 – soc 2011-05-28 15:13:51

+0

,但你不应该有问题java 5编译代码运行在jvm 6 – anfy2002us 2011-05-28 15:34:08

回答

3

Javaasist支持查看堆栈映射表。

我遇到的另一个块是java -XX:-FailOverToOldVerifier -Xverify:所有应该只验证在50+版本类文件中是否存在SMT信息的块。然而,我还没有尝试过,甚至不能告诉你它在输出上的样子。

相关问题