2011-05-28 10 views
7

मैंने ProGuard के साथ कक्षा फ़ाइल संस्करण 49.0 से 50.0 तक कुछ जार फ़ाइलों को "अपग्रेड किया"।कैसे जांचें कि क्लास फ़ाइल संस्करण 50.0 (जावा 6) को प्राथमिकता दी गई है या नहीं?

क्योंकि प्राथमिकता संस्करण 50.0 के साथ वैकल्पिक है, मुझे आश्चर्य है कि क्या यह जांचने का कोई तरीका है कि कक्षा फ़ाइल में वास्तव में एक StackMapTable विशेषता है या नहीं।

(ऐसा नहीं है कि मैं ProGuard पर भरोसा नहीं करता हूं "[...] निम्नलिखित विकल्प जावा 6 में कक्षा फ़ाइलों को अपग्रेड करते हैं, उनके आंतरिक संस्करण संख्याओं को अद्यतन करके और उन्हें प्राथमिकता देते हैं।" लेकिन मैं सीखना चाहता हूं कि कैसे StackMapTable के अस्तित्व को सत्यापित करें।)

+0

तो आपके पास स्रोत नहीं हैं और आप इसे जावा 6 कंपाइलर के साथ संकलित नहीं कर सकते ??? – anfy2002us

+0

मैं इसे स्कैला के साथ उपयोग कर रहा हूं और 'स्कालैक' इस समय जावा 5 (4 9 .0) के लिए कोड उत्पन्न करता है। – soc

+0

लेकिन आपको jvm 6 – anfy2002us

उत्तर

3

Javaasist स्टैक मानचित्र तालिकाओं की समीक्षा के लिए समर्थन है।

एक अन्य गूंज जो मैंने पार किया था वह जावा -XX: -फेलओवर टू ओल्डविरिफायर -एक्सिफाइफ़: सभी को केवल यह सत्यापित करना चाहिए कि 50+ संस्करण वर्ग फ़ाइल में एसएमटी जानकारी है या नहीं। हालांकि, मैंने कोशिश नहीं की है और आपको यह भी नहीं बता सकता कि यह आउटपुट पर कैसा दिख सकता है।

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