繁体   English   中英

如何检查 class 文件版本 50.0 (Java 6) 是否已经过预验证?

[英]How to check if a class file version 50.0 (Java 6) has been preverified?

我使用 ProGuard 将一些 jar 文件从 class 文件版本 49.0“升级”到 50.0。

因为预验证在 50.0 版本中是可选的,所以我想知道是否有办法检查 class 文件中是否真的有 StackMapTable 属性。

(并不是说我不信任 ProGuard “[...] 以下选项将 class 文件升级到 Java 6,通过更新它们的内部版本号并预先验证它们。”但我想了解如何验证堆栈映射表。)

Javaasist支持查看堆栈 map 表。

我遇到的另一个金块是 java -XX:-FailOverToOldVerifier -Xverify:all 应该只验证 50+ 版本 class 文件中是否有 SMT 信息。 但是,我还没有尝试过,甚至不能告诉你它在 output 上会是什么样子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM