जावा वर्ग फ़ाइल प्रारूप प्रमुख संस्करण संख्याओं की सूची?


174

मैंने एक अन्य पोस्ट में जावा के लिए प्रमुख संस्करण संख्याओं की इस सूची को देखा:

  • जावा 1.2 प्रमुख संस्करण 46 का उपयोग करता है
  • जावा 1.3 प्रमुख संस्करण 47 का उपयोग करता है
  • जावा 1.4 प्रमुख संस्करण 48 का उपयोग करता है
  • जावा 5 प्रमुख संस्करण 49 का उपयोग करता है
  • जावा 6 प्रमुख संस्करण 50 का उपयोग करता है
  • जावा 7 प्रमुख संस्करण 51 का उपयोग करता है
  • जावा 8 प्रमुख संस्करण 52 का उपयोग करता है
  • जावा 9 प्रमुख संस्करण 53 का उपयोग करता है
  • जावा 10 प्रमुख संस्करण 54 का उपयोग करता है
  • जावा 11 प्रमुख संस्करण 55 का उपयोग करता है
  • जावा 12 प्रमुख संस्करण 56 का उपयोग करता है
  • जावा 13 प्रमुख संस्करण 57 का उपयोग करता है
  • जावा 14 प्रमुख संस्करण 58 का उपयोग करता है

संदर्भ:

https://blogs.oracle.com/darcy/entry/source_target_class_file_version https://en.wikipedia.org/wiki/Java_class_file#General_layout

जवाबों:


46

ये क्लास वर्जन से आते हैं। यदि आप एक जावा 5 रनटाइम में जावा 6 के लिए संकलित कुछ लोड करने का प्रयास करते हैं, तो आपको त्रुटि, असंगत वर्ग संस्करण मिलेगा, 50 मिला, 49 की उम्मीद थी। या ऐसा ही कुछ।

अधिक जानकारी के लिए बाइट ऑफसेट 7 में यहां देखें ।

अतिरिक्त जानकारी भी यहाँ मिल सकती है


क्या किसी मौजूदा वर्ग का उपयोग किए बिना, जेवैक से सीधे प्रमुख संस्करण संख्या (वर्ग संस्करण) को प्रतिध्वनित करने का एक तरीका है javap -verbose MyClass?
सैम

नहीं वहाँ नहीं है।
स्टीफन सी

18

मुझे विकिपीडिया पृष्ठ पर जावा वर्ग फ़ाइल संस्करणों की एक सूची मिली जो वर्ग फ़ाइल प्रारूप का वर्णन करती है:

http://en.wikipedia.org/wiki/Java_class_file#General_layout

बाइट ऑफ़सेट 6 & 7 के तहत, उन संस्करणों को सूचीबद्ध किया गया है जिनके साथ वे जावा वीएम के अनुरूप हैं।


2

यदि आपको "क्लास फाइल के एरर कंपाइलर" के बारे में कुछ समस्या हो रही है, तो प्रोजेक्ट के JRE को अपने संवाददाता से ग्रहण के माध्यम से बदलकर इसे हल करना संभव है।

  1. पथ का निर्माण
  2. निर्माण पथ कॉन्फ़िगर
  3. लाइब्रेरी को टेबल के संवाददाता में बदलें जो मित्र अंतिम दिखाता है।
  4. "जार फ़ाइल" बनाएं और संकलित करें और निष्पादित करें।

मैंने वह किया और यह काम किया।


0

यदि आपके पास एक क्लास फ़ाइल है build/com/foo/Hello.class, तो आप यह जांच सकते हैं कि कमांड का उपयोग करते हुए इसे किस जावा संस्करण में संकलित किया गया है:

javap -v build/com/foo/Hello.class | grep "major"

उदाहरण उपयोग:

$ javap -v build/classes/java/main/org/aguibert/liberty/Book.class | grep major
  major version: 57

ओपी में तालिका के अनुसार, प्रमुख संस्करण 57 का मतलब है कि क्लास फाइल को JDK 13 बायटेकोड स्तर पर संकलित किया गया था

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.