2010-10-29 18 views
7

मैंने ग्रहण पर maven2 के साथ एक प्रोजेक्ट बनाया है। बाद मैं हाइबरनेट-एनोटेशन निर्भरता कहा, मैं एक वर्ग एनोटेशन (@Entity, @Table ...) हाइबरनेट का उपयोग कर बनाने के लिए कोशिश कर रहा था, लेकिन यह मुझे इस त्रुटि दे रहा था: करने के लिएमुझे परियोजना अनुपालन 1.5 में बदलने की आवश्यकता क्यों है?

परियोजना बदलें अनुपालन और JRE 1.5

मैंने इसे ठीक किया, लेकिन समझ में नहीं आ रहा है कि जब तक मेरा jdk 1.6 है, तब तक इसकी आवश्यकता क्यों होती है।

अग्रिम धन्यवाद!

उत्तर

11

जांचें कि मेवेन कंपाइलर प्लगइन के लिए सेटिंग 1.5 या 1.6 पर भी सेट है। अगर मैं गलत नहीं हूँ मैवेन 2 डिफ़ॉल्ट पर 1.4।

कुछ इस तरह:

<properties> 
     <java.version>1.6</java.version> 
    </properties> 

संपादित करें:: आह, बहुत बुरा, अभी देखा है कि उन कस्टम गुण हैं ... वोन '

  <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.3.1</version> 
       <configuration> 
        <source>1.5</source> 
        <target>1.5</target> 
       </configuration> 
      </plugin> 
+0

बहुत अच्छा। धन्यवाद! – artaxerxe

-1

पोम में निम्नलिखित पंक्तियां जोड़ें टी काम नहीं

+2

व्हाटएट? यह कहां से आता है? और यह क्या करना चाहिए? –

+0

खराब जवाब! काम नहीं करता है! – artaxerxe

9

जबकि javamonkey79's solution यह करने के लिए मानक तरीका है, वहाँ भी एक संपत्ति के आधार पर समाधान है, लेकिन यह the one fgysin suggests नहीं है:

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

संदर्भ (Maven संकलक प्लगइन):

बीटीडब्लू, कारण यह है कि maven compiler plugin javac को कमांड लाइन कॉल बनाता है जिसमें यह स्पष्ट रूप से स्रोत और लक्ष्य संस्करण निर्दिष्ट करता है (जावैक की डिफ़ॉल्ट सेटिंग्स को ओवरराइड करना)। और कंपाइलर प्लगइन के पिछले संस्करणों में अपने स्वयं के डिफ़ॉल्ट 1.3 सेट किए गए थे। हालांकि, प्लगइन संस्करण 2.3, 1.5 is the default source and target version से शुरू हो रहा है।

+2

कंपाइलर स्तर सेट करना SO के मेमों में से एक बन रहा है;) (+1) –

+0

वास्तव में अच्छी युक्ति! – artaxerxe

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