चेतावनी - निर्माण पथ निष्पादन पर्यावरण J2SE-1.4 को निर्दिष्ट करता है


141

मैं ग्रहण हेलियोस में एक मेवेन परियोजना बनाता हूं। यह एक दिन के लिए ठीक काम करता है, लेकिन फिर यह चेतावनी दिखाई देती है:

निर्माण पथ निष्पादन पर्यावरण J2SE-1.4 निर्दिष्ट करता है। कार्यक्षेत्र में कोई JRE स्थापित नहीं हैं जो इस वातावरण के साथ कड़ाई से संगत हैं।

इस संदेश के बाद से, प्रोजेक्ट ने संकलन और डीबग करना बंद कर दिया। क्या किसी के पास इस समस्या का हल है?

जवाबों:


226

अपनी परियोजना से ग्रहण में:

  1. अपने प्रोजेक्ट पर राइट-क्लिक करें
  2. गुण पर क्लिक करें
  3. जावा निर्माण पथ: पुस्तकालय; "JRE सिस्टम लाइब्रेरी [J2SE 1.4] निकालें"
  4. Add Library -> JRE सिस्टम लाइब्रेरी पर क्लिक करें
  5. नया "निष्पादन वातावरण" या कार्यक्षेत्र डिफ़ॉल्ट JRE का चयन करें

43
यह उत्तर ग्रहण के लिए सही है, लेकिन मावेन + ग्रहण के लिए गलत है
क्रिस डोलन

17
यह अस्थायी रूप से समस्या को ठीक करेगा, जब तक कि एक और मावेन बिल्ड नहीं चलाया जाता है, जिस बिंदु पर JRE संस्करण डिफ़ॉल्ट पर रीसेट हो जाएगा। POM में निर्दिष्ट JRE के डिफ़ॉल्ट संस्करण को बदलने के लिए Pascal Thivent का उत्तर देखें।
मैथ्यू

सभी काम नहीं कर रहे हैं। जब भी आप [Alt] [F5] को अपडेट करने के लिए मावेन कॉन्फिग को अपडेट करते हैं तो ऐसे सभी मैनुअल ट्वीक बहुत मिलते हैं और चेतावनी वापस आती है। Bugs.eclipse.org/bugs/show_bug.cgi?id=376619
Jörg

181

चाहे आप मावेन एक्लिप्स प्लगइन का उपयोग कर रहे हों या m2eclipse का , एक्लिप्स का प्रोजेक्ट कॉन्फ़िगरेशन POM से लिया गया है, इसलिए आपको 1.6 के लिए मावेन कंपाइलर प्लगइन को कॉन्फ़िगर करने की आवश्यकता है (यह 1.4 के लिए डिफ़ॉल्ट)।

अपने प्रोजेक्ट में निम्न जोड़ें pom.xml, सहेजें, फिर अपनी ग्रहण परियोजना पर जाएं और गुण> मावेन> प्रोजेक्ट कॉन्फ़िगरेशन को चुनें:

<project>
 <build>
  <pluginManagement>
   <plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>          
        <configuration>
            <source>1.6</source>
            <target>1.6</target>
        </configuration>
    </plugin>
   </plugins>
  </pluginManagement>
 </build>
</project>

4
मैं सहमत हूं, यह सही उत्तर है। अन्य समाधानों में से कई अस्थायी रूप से समस्या का समाधान करेंगे, जब तक कि एक और मावेन बिल्ड नहीं चलाया जाता है, जिस बिंदु पर जेआरई डिफ़ॉल्ट संस्करण पर रीसेट हो जाएगा। इस प्लगइन को POM में जोड़ने से डिफ़ॉल्ट JRE संस्करण बदल जाता है।
मैथ्यू

Pom.xml में कहां (पूर्ण XPATH स्थान) यह जाता है? जहां भी मैं इसे जोड़ता हूं, मावेन एक विकृत पोम की शिकायत करता है।
एड रैंडल

2
यह सही जवाब है। स्वीकृत उत्तर अस्थायी फिक्स है!
स्कॉट ऑफेन

@EdRandall कृपया maven.apache.org/plugins/maven-compiler-plugin/usage.html चेक करें
मार्टिन

मेरे पास मेरे maven pom.xml में है और STILL को चेतावनी मिलती है। सब कुछ काम करने लगता है लेकिन चेतावनी अभी भी है
रोपो

10

उपरोक्त समाधान परियोजना को ठीक करते हैं या किसी तरह समस्या के आसपास काम करते हैं। कभी-कभी आप सिर्फ परियोजना को ठीक नहीं करना चाहते हैं और सिर्फ चेतावनी को छिपाते हैं।

ऐसा करने के लिए, चेतावनी पैनल की सामग्री को कॉन्फ़िगर करें और "बिल्ड पथ" -> "JRE सिस्टम पथ समस्या" श्रेणी को टॉगल-ऑफ करना सुनिश्चित करें। इस संवाद के लिए UI थोड़ा जटिल / अजीब / प्रयोज्य है, इसलिए आपको इसे कुछ विकल्पों के साथ फील करना पड़ सकता है, ताकि आप जो चाहें कर सकें।


मेरे पास दो कार्यस्थान सेट हैं जैसे JDK 7 के साथ, लेकिन 1.6 पर संकलित (हम अंत में आगे बढ़ेंगे)। अच्छे पुराने विंडोज अपडेट द्वारा मशीन को बंद कर दिया गया था - और जो कार्यक्षेत्र खुला था उसे यह दिखाना शुरू किया गया था और इसे मोलिफ़ाइड नहीं किया जाएगा। चारों ओर एक काम इंगित करने के लिए धन्यवाद!
RedYeti

13
या एक और थोड़ा क्लीनर तरीका: विंडो -> प्राथमिकताएं -> जावा -> कंपाइलर -> बिल्डिंग -> "निष्पादन पर्यावरण के लिए कोई सख्त संगत JRE नहीं" सेट करने के लिए "पर ध्यान न दें"
RedYeti

@RedYeti को यह काम करना चाहिए लेकिन यह मेरे लिए नहीं है (ग्रहण 4.5)
NathanChristie

3

ग्रहण की वरीयताओं में, जावा-> स्थापित JRE-> निष्पादन पर्यावरण पर जाएं और J2SE-1.4 के लिए एक JRE निष्पादन पर्यावरण स्थापित करें


यह अस्थायी रूप से समस्या को ठीक करेगा, जब तक कि एक और मावेन बिल्ड नहीं चलाया जाता है, जिस बिंदु पर JRE संस्करण डिफ़ॉल्ट पर रीसेट हो जाएगा। POM में निर्दिष्ट JRE के डिफ़ॉल्ट संस्करण को बदलने के लिए ऊपर Pascal Thivent का उत्तर देखें।
मैथ्यू

नहीं, यह कार्यक्षेत्र स्थापित JRE को बदल रहा है और विशिष्ट परियोजना के लिए एक नहीं (जो कि स्वीकृत उत्तर था)
AlBlue

3

इस चेतावनी का वास्तविक कारण यह है कि आपने अपनी परियोजना को पहले के JRE संस्करण के साथ चलाने के लिए कॉन्फ़िगर किया है, फिर आपने स्थापित किया है। आम तौर पर यह तब होता है जब भी आप पुराने प्रोजेक्ट्स का उपयोग नए JRE के साथ करते हैं।

यह संभवतः कोई परेशानी का कारण नहीं होगा। लेकिन अगर आप वास्तव में बचत पक्ष में रहना चाहते हैं, तो आपको सही, पुराने JDK को स्थापित करना चाहिए। आप उन्हें यहां देख सकते हैं: http://www.oracle.com/technetwork/java/archive-139210.html

यदि आप फिर से ग्रहण शुरू करते हैं तो आप विंडो में जा सकते हैं > वरीयताएँ> जावा> स्थापित JREs> निष्पादन वातावरण और अपने मामले में J2SE-1.4 के लिए सेट करें [परिपूर्ण मैच] जैसा कि ग्रहण कहता है।


अपवित्र क्योंकि मेरे पास एक जावा 7 परियोजना है और केवल जावा 8 स्थापित है।
एमी वैन गेंस

2

यदि आपके पास जावा 1.8 है

आपको यह xml हिस्सा pom.xml और अपडेट प्रोजेक्ट में चाहिए।

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

2

इस चेतावनी को हल करने के लिए सही प्रक्रिया, जैसा कि अन्य लोग लिखते हैं, अपने प्रोजेक्ट के अंदर जाना है गुणों के और बाईं ओर स्थित जावा बिल्ड पथ पर क्लिक करना है । अब आप अंदर मिलेगा पुस्तकालय विंडो J2SE 1.5 , यह एक और एक नई विंडो आप संभावना सही चयन करने के लिए दे देंगे पर डबल क्लिक करें निष्पादन पर्यावरण । अब अपने संस्करण का चयन करें और चेतावनी गायब हो जाएगी।


1

क्या आपने अपनी परियोजना को 1.4 अनुपालन के साथ संकलित करने के लिए सेटअप किया था? यदि हां, तो क्या कहा krock । या अधिक सटीक होने के लिए आपको J2SE-1.4 निष्पादन वातावरण का चयन करने और स्थापित JRE में से एक की जांच करने की आवश्यकता है जिसे आप 1.4 अनुपालन मोड में उपयोग करना चाहते हैं; सबसे अधिक संभावना है कि आपके पास एक 1.6 JRE स्थापित होगा, बस इसे जांचें। या यदि आपके पास सेटअप किट है, तो 1.4 JRE इंस्टॉल करें और उस एक का उपयोग करें।

अन्यथा अपनी ग्रहण वरीयताओं पर जाएं, जावा -> कंपाइलर और जांचें कि क्या अनुपालन 1.4 पर सेट है। अगर इसे बदलकर वापस 1.6 कर दिया जाए। यदि यह प्रोजेक्ट प्रॉपर्टीज में नहीं जाता है, और यह जांचें कि क्या यह प्रोजेक्ट विशिष्ट सेटिंग्स में है। जावा कंपाइलर पर जाएं, और यदि आप सामान्य ग्रहण वरीयताओं का उपयोग करना चाहते हैं तो अनचेक करें। या परियोजना की विशिष्ट सेटिंग को 1.6 पर सेट करें, ताकि ग्रहण की वरीयताओं की परवाह किए बिना यह हमेशा 1.6 हो।


यह अस्थायी रूप से समस्या को ठीक करेगा, जब तक कि एक और मावेन बिल्ड नहीं चलाया जाता है, जिस बिंदु पर JRE संस्करण डिफ़ॉल्ट पर रीसेट हो जाएगा। POM में निर्दिष्ट JRE के डिफ़ॉल्ट संस्करण को बदलने के लिए ऊपर Pascal Thivent का उत्तर देखें।
मैथ्यू

0

बस संस्करण को विंडो में बदलें- वरीयताएँ-> जावा -> स्थापित JREs। स्थापित JREs सूची की जाँच करें। फिर, अपने प्रोजेक्ट पर राइट क्लिक करें -> गुण -> जावा बिल्ड पथ -> लाइब्रेरी। "स्थापित JREs" के संस्करण में "JRE सिस्टम लाइब्रेरी" को बदलें।

चेतावनी दी जाएगी।


-1

मुझे प्रोजेक्ट चेतावनी मिल रही थी " बिल्ड पाथ एक्ज़ीक्यूटिव एनवायरमेंट J2SE-1.5 निर्दिष्ट करता है। कार्यक्षेत्र में कोई JRE स्थापित नहीं हैं जो इस वातावरण के साथ कड़ाई से संगत हैं "। मैंने J2SE1.5 लाइब्रेरी को हटा दिया और नई JRE सिस्टम लाइब्रेरी जोड़ी, जिसने मेरी समस्या का समाधान किया


यह btpka3 के उत्तर से कैसे भिन्न है ?
स्टेवोइसाक

-1

कार्यक्षेत्र में अपनी परियोजना का विस्तार करें >> राइट क्लिक (JRE सिस्टम लाइब्रेरी) >> चुनिंदा गुण >> चयन कार्यक्षेत्र डिफ़ॉल्ट उपरोक्त समाधान JRE


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