javac1.8 कक्षा नहीं मिली




eclipse ant (7)

मैंने दो jdks - jdk 1.5 और jdk 1.8 स्थापित किया है। मैं Ant build.xml कॉन्फ़िगरेशन फ़ाइल का पालन कर रहा हूं:

<target name="compileCustomSrc">
    <javac srcdir="src" destdir="build/classes" source="1.5" target="1.5" >
        <classpath>
            <fileset dir="C:/lib/">
                <include name="*.jar" />
            </fileset>
        </classpath>
    </javac>
</target>

Jdk1.8 स्थापित करने से पहले, एक्लिप्स से लगाए गए चींट ने सभी स्रोतों को संकलित किया। लेकिन अब, मेरे पास निम्न त्रुटि संदेश है:

Class not found: javac1.8

मेरा जावा_एचओएमई और जेआरई_एचओएमई:

JAVA_HOME = C:\Program Files (x86)\Java\jdk1.5.0_16
JRE_HOME = C:\Program Files (x86)\Java\jre1.5.0_16

और एक्लिप्स जेआरई में 1.5 तक सेट करें। जावा 1.8 स्थापना के दौरान कुछ विन्यास सेट करता है?


आप अपने सिस्टम पर एएनटी 1.10 को डाउनलोड और अनजिप कर सकते हैं और अपने प्रोजेक्ट के लिए ग्रहण में एएनटी घर को 1.10 तक घुमाने की कोशिश कर सकते हैं। इसे काम करना चाहिए, अधिक जानकारी के लिए इसे पढ़ें। http://devops-badal.blogspot.com/2017/02/class-not-found-javac18-issue-while.html


एंटी संस्करणों के साथ असंगत में जावा 8 के रूप में 1.9.x रिलीज को एंटी अपडेट करें 1.9


कभी-कभी एएनटी के माध्यम से युद्ध के निर्माण के दौरान मुद्दा build.properties फ़ाइलों में जावा संस्करण मिस मैच से भी संबंधित है। Build.xML build.compiler प्रॉपर्टी में उल्लिखित जावा संस्करण का उपयोग करने का प्रयास करता है

जांचें कि build.compiler संपत्ति इच्छित जावा संस्करण के समान है या नहीं।


क्रिस्टियन होल्डहस के उत्तर (सही के रूप में चिह्नित) के लिए फॉलो-ऑन के रूप में, आप इसके बजाय चींटी जावैक कार्य पर compiler विशेषता का उपयोग कर सकते हैं। compiler="modern" सेट करना पिछड़ा होना चाहिए (लगभग 1.3 तक) और आगे संगत।

यह build.compiler नामक जावा सिस्टम प्रॉपर्टी सेट करने की आवश्यकता से build.compiler । केवल build.compiler कार्य पर compiler विशेषता को स्पष्ट रूप से सेट करने की अनुपस्थिति में, चींटी build.compiler के मान को फ़ॉलबैक के रूप में उपयोग करेगी।


मैंने अन्य सभी समाधानों की कोशिश की, लेकिन कोई भी काम नहीं किया। अंत में मुझे एक दृष्टिकोण मिला जो ग्रहण में मेरे लिए काम करता था:

  • चींटी कार्य नाम पर राइट क्लिक करें, उदाहरण के लिए ant विंडो में "compileCustomSrc"।
  • के Run As | External Tool Configurations चुनें Run As | External Tool Configurations
  • फिर JRE टैब पर, Separate JRE: Java SE7 7 या जो भी आपका जावा 7 नामित है, फिर Apply और फिर Run

आपका चींटी कार्य निष्पादित किया जाएगा, और सही ढंग से निर्माण करेगा!


मैंने इसे एक्लीज़ के साथ करने की कोशिश की और उसी त्रुटि को मिला क्लास नहीं मिला: javac1.8

मैंने अपने सिस्टम पर एएनटी संस्करण की पुष्टि की

> चींटी-विचलन

अपाचे एंटी (टीएम) संस्करण 1.9.6 जून 2 9 2015 को संकलित

जब मैंने कमांड प्रॉम्प्ट से build.xml को चलाने का प्रयास किया, तो यह काम किया। तब मैंने जांच की कि ग्रहण में, यह एएनटी के पुराने संस्करण का जिक्र कर रहा था।

मैंने बस ग्रहण में एंट होम पथ संपादित किया और यह यहां से भी काम करता है। :)

नीचे छवि है जहां ग्रहण में एएनटी पथ को संपादित करने की आवश्यकता है।

  1. Build.xml फ़ाइल पर राइट क्लिक करें
  2. ऐसे दोड़ो
  3. बाहरी उपकरण विन्यास
  4. क्लासपाथ टैब का चयन करें

अब यहां से एएनटी होम पथ बदलें।


Class not found: javac1.8

यह त्रुटि 1.9.0 से कम अपाचे एंटी संस्करणों के साथ होने वाली है - जो जावा 8 के साथ संगत नहीं हैं। यदि आप चींटी <1.9.0 के संस्करण का उपयोग कर रहे हैं, तो आपको 1.9.x रिलीज़ में अपडेट करना चाहिए।

संबंधित बग रिपोर्ट यहां दी गई है: https://issues.apache.org/bugzilla/show_bug.cgi?id=53347

बीटीडब्ल्यू, अगर आप जावा 8 के साथ संकलन करना चाहते हैं, लेकिन किसी भी वास्तविक जावा 8 सिंटैक्स को संकलित करने की आवश्यकता नहीं है, तो आप वर्कअराउंड के रूप में निम्नलिखित तर्क को जावैक में पास कर सकते हैं, जो आपको चींटी के पुराने संस्करण का उपयोग जारी रखने की अनुमति देगा :

-Dbuild.compiler=javac1.7




classnotfound