2014-04-13 6 views
12

से कम मेरे पास निम्न वातावरण में एक एंटरप्राइज़ एप्लिकेशन चल रहा है।एनोटेशन प्रोसेसर org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor से समर्थित स्रोत संस्करण RELEASE_6 स्रोत 1.7

  • Mojarra 2.2.7
  • PrimeFaces 5.0 अंतिम
  • PrimeFaces एक्सटेंशन 2.0 अंतिम
  • OmniFaces 1.8.1
  • EclipseLink 2.5.2 होने जेपीए 2.1
  • GlashFish 4.0
  • NetBeans आईडीई 8.0
  • जेडीके 1.7

मैं स्रोत का स्तर 1.7 करने के लिए 1.6 से project.properties फ़ाइल में nbproject के तहत सभी तीन मॉड्यूल (जावा EE मॉड्यूल, EJB मॉड्यूल और युद्ध मॉड्यूल) जावा ईई के लिए समर्थन करने के लिए बदल दिया है 7. यह नहीं एक Maven है परियोजना।

  • j2ee.platform=1.7
  • javac.source=1.7
  • javac.target=1.7

इससे पहले कि वे सभी 1.6 थे।


इन परिवर्तनों के बाद, परियोजना की सफाई करते समय निम्नलिखित चेतावनी प्रकट होती है।

चेतावनी: एनोटेशन प्रोसेसर 'org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor' स्रोत '1.7'

मैं कम से कम से समर्थित स्रोत संस्करण 'RELEASE_6' मैं का उपयोग कर रहा हूं EclipseLink metamodel जनरेटर 1.3.0 अंतिम एक स्थिर मेटामोडेल उत्पन्न करने के लिए।

क्या स्रोत चेतावनी 1.6 से डाउनग्रेड करने के अलावा इस चेतावनी से छुटकारा पाने का कोई तरीका है? क्या इस चेतावनी के साथ कोई असंगतता है?


अद्यतन:

यह चेतावनी नहीं रह गया है (बृहस्पतिवार, 15 अक्टूबर, 2015 से उपलब्ध है) EclipseLink 2.6.1 में प्रतिलिपि प्रस्तुत करने योग्य है बंडल द्वारा प्रदान की संबंधित मेटामॉडल जनरेटर के साथ - org.eclipse.persistence.jpa.modelgen_2.6.1.v20150916-55dc7c3.jar

वर्तमान में मुझे लगता है यह तय हो गई है EclipseLink 2.6.1 (जेपीए 2.1) और JDK 8u45 का उपयोग कर परीक्षण किया

ग्लासफिश 4.1 पर/जावा ईई 7.।

+0

जो आप उपयोग कर रहे तय ... आप कहते हैं EclipseLink मेटामॉडल अभी तक –

+0

मैं हाइबरनेट लिए एक लिंक प्रदान मैं उस मेटामोडेल जेनरेटर का उपयोग स्प्रिंग/हाइबरनेट के साथ किसी अन्य प्रोजेक्ट में माफी चाहता हूं। मेटामोडेल जनरेटर EclipseLink 2.5.1 द्वारा ही प्रदान किया जाता है। – Tiny

+1

आपके अपडेट के लिए धन्यवाद! मैंने अपनी निर्भरता बदल दी और अब त्रुटि चली गई है। – Nachtgold

उत्तर

12

the Java API specification के अनुसार, @SupportedSourceVersion एनोटेशन (जो लॉग की उत्पत्ति है) निर्दिष्ट करता है "न्यूनतम स्रोत संस्करण एक एनोटेशन प्रोसेसर समर्थन करता है", न्यूनतम नहीं।

इस विषय पर discussion on the NetBeans forum पढ़ना, यह सुझाव देता है कि आपके पास कुछ समाधान हैं। मुझे लगता है कि एकमात्र समाधान CanonicalModelProcessor में कोड बदलने के लिए है: EclipseLink क्रम जावा 6 के अनुरूप होने के लिए

के लिए, आप है @SupportedSourceVersion(RELEASE_6)

ठीक से एक जावा 7 संकलन के लिए अनुकूलित किया जा करने के लिए, आपको चाहिए @SupportedSourceVersion(RELEASE_7)

लेकिन जैसा कि मैं समझता हूं कि आप अपने आप पर ग्रहण लिंक्स को संकलित नहीं कर रहे हैं। मुख्य समस्या (और चेतावनी का कारण) यह है कि सॉफ्टवेयर प्रदाता (यानी ग्रहण नींव) जावा एसई 6 पर्यावरण में कोड की उचित प्रसंस्करण की गारंटी देता है।

समस्या reported as a JDK बग थी। निष्कर्ष यह है कि कोई अन्य स्पष्ट कार्यवाही नहीं है।

समाधान RELEASE7 निरंतर निर्दिष्ट करना होगा (कम से कम एपीआई क्या कहता है)। लेकिन अगर EclipseLink टीम करते हैं, तो वे जावा 6 वातावरण में संकलित नहीं कर सकते हैं।

इसलिए चाहे आप उचित निरंतर साथ अपने दम पर EclipseLink संकलन, चाहे आप चेतावनी के साथ रहते हैं ...

संबंधित मुद्दे