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


121

मैंने ऐसे ही सवाल देखे हैं, लेकिन अभी तक इसका जवाब नहीं मिला है।

मावेन संकलन का उपयोग, मुझे मिलता है:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) on project api: Fatal error compiling: invalid target release: 1.7 -> [Help 1]

यहाँ pom.xml है:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.0</version>
    <configuration>
        <source>1.7</source>
        <target>1.7</target>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

Javac संस्करण:

javac 1.7.0_25

जावा संस्करण:

java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)

क्या कोई विचार है की यह क्या हो सकता है?


14
सबसे अधिक संभावना
मावेन

3
मैं यह देखने के लिए आपके सभी पर्यावरण चर की जांच करूंगा कि क्या कोई जावा 6 का उपयोग कर रहा है। उदाहरण के लिए जावा 7 आपके रास्ते पर हो सकता है, लेकिन मुझे याद है कि JAVA_HOME या इसके जैसे कुछ का उपयोग करके मैवेन करें।
पीटर लॉरी

36
निष्पादित करें mvn -version। यह आपको बताएगा कि यह किस जावा का उपयोग करता है।
बजे जेबी निज़ेट

आप सही हैं, mava जावा 1.6 का उपयोग कर रहा है - मैं इसे कैसे बदल सकता हूं?
करण

1
अपने JDK7 होम निर्देशिका में JAVA_HOME चर सेट करें।
बजे जेबी निज़ेट

जवाबों:


159

आपको अपने jdk7 होम निर्देशिका में JAVA_HOME सेट करना होगा, उदाहरण के लिए Microsoft Windows पर:

  • "C: \ Program Files \ Java \ jdk1.7.0_40"

या OS X पर:

  • /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home

71
एक मैक पर, जहाँ jdk6 और jdk7 स्थापित हैं, इसे ~ / .profile में मजबूर किया जा सकता है:export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)
हांक

3
jdk8 का उपयोग jdk7 अनुपालन प्राप्त करने के लिए भी किया जा सकता है
वोल्फगैंग

3
के साथ मैक पर पुनः लोड ~ / .profile करने के लिए याद रखें:source ~/.profile
Caio Iglesias

यह शायद बहुत सी चीजों के लिए काम करता है लेकिन यह मावेन के लिए पर्याप्त नहीं है और निश्चित रूप से मावेन कंपाइलर प्लगइन के लिए नहीं है। माइक के अपने प्रश्न का उत्तर यहां देखें: स्टैकओवरफ्लो प्रश्न 24705877 यह मेरे लिए कमांड लाइन और ग्रहण के भीतर समस्या को हल करता है। इसके अलावा, @LinGao stackoverflow सवाल 2503658 का जवाब और $ JAVACMD चर का उपयोग मदद कर सकता है।
लिटोम

42

JAVA_HOMEपर्यावरण चर सेट करने के अलावा , आपको यह सुनिश्चित करने के लिए मिला कि आप अपने मावेन रन कॉन्फ़िगरेशन में सही JDK का उपयोग कर रहे हैं। पर जाएं भागो -> भागो विन्यास , अपने Maven विन्यास बिल्ड का चयन करें, JRE टैब पर जाएँ और सही क्रम JRE निर्धारित किया है।

मावेन रन कॉन्फ़िगरेशन


+1, मुझे पता था कि मैं कुछ अपडेट करना भूल गया था ... कॉन्फ़िगरेशन बनाते समय डिफ़ॉल्ट विकल्प (मेरे लिए) "वैकल्पिक JRE" था। अगर किसी और को इस पार चलता है, तो सुनिश्चित करें कि आपके मावेन प्लगइन और कॉन्फ़िगरेशन ठीक से अपडेट किए गए हैं!
King14nyr

मेरे पास जावा 8 के लिए सही JAVA_HOME था लेकिन मुझे अभी भी इसकी कमी थी। आपने मेरी समस्या हल कर दी, धन्यवाद
dtortola

3

IntelliJ IDEA में मेरे साथ ऐसा हुआ जब मैंने एक प्रोजेक्ट आयात किया जो ठीक काम कर रहा था और जावा 1.7 के साथ चल रहा था। मैंने जाहिरा तौर पर IntelliJ को सूचित नहीं किया था कि जावा 1.7 मेरी मशीन पर स्थापित किया गया था, और यह मेरी नहीं मिल रहा था$JAVA_HOME

एक मैक पर, यह द्वारा हल किया जाता है:

मॉड्यूल पर राइट क्लिक करें | मॉड्यूल सेटिंग्स | परियोजना

और परियोजना एसडीके में "नया" का चयन करके 1.7 एसडीके को जोड़ना।

फिर मुख्य IntelliJ IDEA मेनू पर जाएं प्राथमिकताएँ | मावेन | हरकारा

और सही JRE का चयन करें। मेरे मामले में यह सही ढंग से अपडेट किया गया था प्रोजेक्ट एसडीके का उपयोग करें, जो अब 1.7 था।


ध्यान दें कि Intellij के लिए Mac पर प्रोजेक्ट सेटिंग्स और प्राथमिकताएँ हैं। मुझे कम से कम सेटिंग्स -> बिल्ड एक्से, डिप्लॉय -> जावा कंपाइलर पर जाना था और फिर प्रोजेक्ट बायटेकोड संस्करण को आवश्यकतानुसार सेट करना था।
'16:

1

जब मावेन एक्लिप्स के बाहर काम कर रहा है, लेकिन जेडीके बदलने के बाद यह त्रुटि दे रहा है, तो अपने मावेन रन कॉन्फ़िगरेशन पर जाएं, और मुख्य पृष्ठ के नीचे, एक 'मावेन रनटाइम' विकल्प है। मेरा एंबेडेड मावेन का उपयोग कर रहा था, इसलिए मेरे बाहरी मावेन का उपयोग करने के लिए इसे स्विच करने के बाद, इसने काम किया।


कृपया मावेन रन कॉन्फ़िगरेशन कहाँ है?
आर क्लैवेन

1
अपने build.xml पर राइट क्लिक करें, 'Run as' पर जाएं और फिर 'Run कॉन्फ़िगरेशन' अंतिम विकल्प होना चाहिए। यदि आप रन कॉन्फिग के प्रकारों के माध्यम से स्क्रॉल करते हैं, तो एक 'मावेन बिल्ड' है, और जिसमें 'मावेन रनटाइम' चुनने का विकल्प है। इसके बगल में एक 'कॉन्फ़िगर' बटन है
djb

0

यह शायद बहुत सी चीजों के लिए काम करता है लेकिन यह मावेन के लिए पर्याप्त नहीं है और निश्चित रूप से मावेन कंपाइलर प्लगइन के लिए नहीं है।

अपने स्वयं के प्रश्न के लिए माइक के उत्तर की जाँच यहाँ करें: stackoverflow प्रश्न 24705877

इसने मेरे लिए कमांड लाइन और ग्रहण के भीतर इस मुद्दे को हल किया।

इसके अलावा, @LinGao stackoverflow सवाल 2503658 और $ JAVACMD चर के उपयोग में मदद मिल सकती है, लेकिन मैंने इसे स्वयं परीक्षण नहीं किया है।

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