簡體   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