javac: अमान्य लक्ष्य रिलीज़: 1.8


87

मैंने हाल ही में JDK 1.8.0.0_06 डाउनलोड किया है जो NetBeans के साथ बंडल में आता है। मुझे तब पता चला कि मेरा JavaFx प्रोजेक्ट, जिसे मैं Java 1.7 में विकसित कर रहा हूं, वह Java 1.8 में संकलित नहीं होगा, और इसलिए मैंने अपने JDK को 1.7 में स्थानांतरित कर दिया। फिर भी मैं इसे काम / संकलन के लिए नहीं ला सकता। मुझे यह त्रुटि मिली:

javac: invalid target release: 1.8
Usage: javac <options> <source files>

मैं वास्तव में फंस गया हूं और किसी भी मदद की बहुत सराहना करूंगा।


1
यदि आप नीचे कदम रखने जा रहे हैं, तो अपनी परियोजना के स्रोत को 1.7 में बदल दें, ठीक है अपने पर क्लिक करें Project -> Properties -> Sources windowऔर यहां 1.7 सेट करें
जिगर जोशी

आप एक जीवन रक्षक हैं @ जिगर जोशी !!!! धन्यवाद फिर से ***** a mill। बहुत आभारी हूँ। आप अपनी प्रतिक्रिया एक उत्तर के रूप में दे सकते हैं ताकि मैं इसे स्वीकार कर सकूं। वाह! फिर से धन्यवाद। इतने समय से अटका हुआ था!
प्रोग्राम-मी-रेव

यदि आपकी परियोजना जावा 1.8 के तहत संकलित नहीं होगी, तो आप संभवतः बहुत बुरी तरह से कुछ गलत कर रहे हैं (उदाहरण के लिए, आपके पास अपने अन्य प्रश्न में पोस्ट किए गए कोड में यूआई घटकों के लिए स्थिर क्षेत्र हैं, जो एक गंभीर डिजाइन त्रुटि है)। उस समस्या को ठीक करने के लिए शायद बेहतर है कि केवल उस संस्करण पर वापस लौटा जाए जहां से कई उपयोगकर्ता भविष्य में किसी बिंदु पर अपग्रेड करेंगे।
जेम्स_ड

आप सही हैं @James_D। यह जावा में मेरा पहला प्रोजेक्ट है। मैंने खुद को प्रोग्रामिंग सिखाई, और अब तक स्थैतिक सदस्यों, इंटरफेस और बाकी बहुरूपता से बचने के बारे में पूरी बात नहीं समझी। मेरा प्रोजेक्ट एक साथ संपादित होने के लिए बहुत बड़ा है। मैं इसे संपादित करने की योजना बना रहा हूं और स्प्रिंग बिट के माध्यम से निर्भरता इंजेक्शन तक स्थानांतरित कर सकता हूं क्योंकि मैं अन्य शेष क्षेत्रों पर समाप्त करता हूं। यह एक दर्दनाक सबक है, लेकिन अच्छी तरह से सीखा है।
प्रोग्राम-मी-रेव

1
जावा संस्करण 1.8.0, 1.8.0_05 और 1.8.0_11 हैं, लेकिन 1.8.0.0_06 जैसी कोई चीज नहीं है।
डेविड कॉनराड

जवाबों:


33

यदि आप पद छोड़ने जा रहे हैं, तो अपनी परियोजना के स्रोत को 1.7 में बदल दें,

right click on your Project -> Properties -> Sources window 

और 1.7यहां सेट करें

ध्यान दें: हालांकि मैं आपको यह पता लगाने का सुझाव दूंगा कि यह 1.8 पर काम क्यों नहीं करता है


66

IntelliJ14 के लिए आपको उस बाइटकोड कोड को बदलना पड़ सकता है, जिस JDK का आप उपयोग कर रहे हैं (वैश्विक सेटिंग में):

यहाँ छवि विवरण दर्ज करें


मेरे लिए काम नहीं करता है, लक्ष्य बाइटकोड संस्करण को 1.8 में बदल रहा है लेकिन एक ही त्रुटि प्राप्त करता है
ट्राइब्लॉयड

लेकिन सवाल नेटबीन्स के बारे में था?
जोलता २६'१

27
  1. JDK 8 डाउनलोड करें ।
  2. JAVA_HOMEनई स्थापित JDK 1.8 को इंगित करने के लिए अपने env var को संपादित करें : मेरे कंप्यूटर पर R-क्लिक करें -> गुण -> उन्नत सिस्टम सेटिंग्स -> पर्यावरण चर JAVA_HOMEसूची पर पाते हैं और सेट करते हैं कि यह कुछ इस तरह है:

    C:\Program Files\Java\jdk1.8.0_31
    
  3. पुराने संस्करण का पता लगाएं और इसे PATHवेरिएबल असवेल में एडिट करें ।

  4. संभवतः आपको सिस्टम को पुनरारंभ करने की आवश्यकता होगी।

किया जाना चाहिए।


23

यदि यह त्रुटि ग्रैडल (या मावेन) कार्य को चलाने के दौरान होती है, तो आपको इस रूट के बाद जावा JDK 1.8 की स्थापना की ओर इशारा करने के लिए उस बिल्ड टूल कॉन्फ़िगरेशन को संशोधित करने की आवश्यकता है:

फ़ाइल -> सेटिंग्स -> निर्माण, निष्पादन, तैनाती -> निर्माण उपकरण -> ग्रेड

वहां आप लिंक्ड ग्रेडल परियोजना की जांच करते हैं, जिस पर आप काम कर रहे हैं और ग्रेडेल जेवीएम का चयन करें (जब आप इंटेलीज में ग्रेड प्रोजेक्ट को आयात करते हैं तो यह छूट गया था)

यहाँ छवि विवरण दर्ज करें

याद रखें कि लक्ष्य JVM को सही ढंग से सेट करने के लिए ग्रेडल (या मावेन) परियोजना को आयात करते समय: यहाँ छवि विवरण दर्ज करें


14

आपका जावेद जावा को सही करने का इशारा नहीं कर रहा है।

जाँच करें कि आपका javac निम्नलिखित कमांड का उपयोग करके कहाँ इंगित कर रहा है -

update-alternatives --config javac

यदि यह उस javac को इंगित नहीं किया गया है जिसे आप के साथ संकलित करना चाहते हैं, तो इसे "/ JAVA8_HOME / bin / javac" पर इंगित करें, या जिस java के साथ आप संकलित करना चाहते हैं।


क्यों -1, मैं एक ही समस्या है, और वह यह है कि मेरे javac जावा संस्करण को सही करने के लिए सेट नहीं किया गया था?
पीयूष जाजू

मन कि कॉन्फ़िगरेशन को तोड़ दिया जा सकता है जिस तरह से जावा और जावाक को अलग-अलग वितरणों से चुना जाता है!
ऑड्रियस मेस्कॉस्कस

9

ज्यादातर समय, गलत जावा संस्करण के कारण इस प्रकार के मुद्दे होते हैं। सुनिश्चित करें कि आपके PATH और JAVA_HOME चर सही संस्करण की ओर इशारा कर रहे हैं।



4

मावेन सेटिंग:

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

4

पिछले समाधानों में से किसी ने भी मेरे लिए काम नहीं किया।

मैंने इसे एडिट करके हल किया। .idea / compiler.xml विभिन्न लक्ष्यों के साथ खराब मॉड्यूल की "अतिरिक्त" (1) और (2) प्रतियां थीं। मैंने एक्सट्रॉनिक एन्ट्री को डिलीट कर दिया और सेक्शन के लक्ष्यों को 1.8 में बदल दिया और यह काम कर गया।


यह मेरे लिए भी तय है।
davidmerrick

2

IntelliJ IDEA 18 वीं 2017 के अनुसार अंतिम नवीनतम संस्करण, यदि उपरोक्त सुझाव काम नहीं करते हैं, तो कृपया निम्नलिखित प्रयास करें: प्रोजेक्ट पर राइट क्लिक करें और "ओपन मॉड्यूल सेटिंग्स" पर जाएं। इसे खोलें, फिर ड्रॉपडाउन से "भाषा स्तर" बदलें।


यह भी सुनिश्चित करें कि निर्भरता टैब के तहत मॉड्यूल सेटिंग्स में सही मॉड्यूल एसडीके चुना गया है।
रेने जूस


1

यदि आप पद छोड़ने जा रहे हैं, तो अपनी परियोजना के स्रोत को 1.7 में बदल दें,

अपने प्रोजेक्ट -> गुण -> स्रोत विंडो पर राइट क्लिक करें और यहां 1.7 सेट करें "जिगर जोशी

इसके अलावा जाकर build-impl.xmlप्रॉपर्टी देखें excludeFromCopy="${copylibs.excludes}"और इस प्रॉपर्टी को डिलीट कर दें कोड 827 पर था, लेकिन मैंने इसे अन्य लाइनों पर देखा

मेरे लिए मैक ओएस जावा 1.8 से विन XP जावा 1.7 में एक कोड ले रहा था


1

वैकल्पिक रूप से, मैंने pom.xml की जाँच की और बदल दिया

<java.version>1.8</java.version>

सेवा

<java.version>1.7</java.version>

ग्रेसिया, यह मेरे लिए तय है, इतना आसान है।
Fabii

1

मैं netbeans के साथ एक ही मुद्दा है, लेकिन mvn निर्माण cmd विंडो में ठीक है। मेरे लिए नेटबीन्स के JDK (नेटबीन्स में नीचे) के रूप में बदलने के बाद इस मुद्दे को हल किया गया।

netbeans_jdkhome = "C: \ Program Files \ Java \ jdk1.8.0_91"


संपादित करें: ऐसा लगता है कि यहाँ उल्लेख किया गया है: netbeans बग 236364


1

मुझे मावेन के साथ IntelliJ IDEA समुदाय में एक ही मुद्दा मिला और मुझे प्रोजेक्ट टैब में प्रोजेक्ट को राइट क्लिक करके प्रॉम्प्ट करना पड़ा -> मावेन -> रिइम्पोर्ट


0

IDEA समुदाय (2017.x के बजाय 2018.3) की एक नई रिलीज़ को स्थापित करना मेरी समस्या को उसी त्रुटि के साथ हल किया गया था लेकिन जावा संस्करण: 11। रीमपोर्ट ने मेरे लिए काम नहीं किया था। लेकिन यह एक कोशिश के काबिल है।

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