2013-05-28 5 views
11

में मैवेन प्रोजेक्ट्स के लिए डिफ़ॉल्ट जावा अनुपालन स्तर सेट करें मैवेन के लिए डिफ़ॉल्ट अनुपालन स्तर 1.5 है और हर बार जब मैं ग्रहण में एक मैवेन प्रोजेक्ट अपडेट करता हूं तो यह अनुपालन स्तर को 1.6 से 1.5 तक वापस सेट करता है जो वास्तव में मेरे लिए परेशान है।ग्रहण

मुझे पता है कि मैं लक्ष्य को 1.6 में पॉम फ़ाइल में सेट कर सकता हूं लेकिन समस्या यह है कि मैं इसे मूल पोम में सेट नहीं कर सकता और बच्चों को यह प्राप्त करने की उम्मीद करता हूं। तो मुझे इसे हर एक मेवेन मॉड्यूल के लिए करना है। मैं अपने मैवेन प्रोजेक्ट में या पूरी ग्रहण में एक बार "जीवनकाल" के लिए प्रत्येक मैवेन मॉड्यूल को संशोधित किए बिना कैसे सेट कर सकता हूं !?

उत्तर

11

मुझे पता है कि मैं लक्ष्य को 1.6 में पॉम फ़ाइल में सेट कर सकता हूं लेकिन समस्या यह है कि मैं इसे मूल पोम में सेट नहीं कर सकता और बच्चों को यह प्राप्त करने की उम्मीद करता हूं।

पेरेंट पोम में <source> और <target> संस्करण सेट करना काम करता है।

उदाहरण के लिए, मेरे माता-पिता पोम में, मेरे पास है:

  • बच्चे माता-पिता का सही संस्करण निर्दिष्ट करता है:

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

    आप समस्या हो रही है, आप जाँच करना चाहते हो सकता है कि ;

  • पैरेंट पोम source और target मान दोनों निर्दिष्ट करता है;
  • आपने माता-पिता पर mvn install चलाया है; और
  • mvn help:effective-pom बच्चे परियोजना पर अपेक्षित स्रोत/लक्ष्य मान दिखाता है।

poms संशोधित करने के बाद, आप दोनों परियोजनाओं का चयन करें और Maven-> अद्यतन परियोजना उपयोग करने की आवश्यकता हो सकती है।

+0

यह किसी भी तरह से मेरे लिए अजीब है क्योंकि मैं चिंतित हूं y ने उपरोक्त टैग को मेरे माता-पिता को कुछ समय पहले डालने की कोशिश की थी और यह उस समय काम नहीं करता !! लेकिन अब यह काम कर रहा है। ऐसा लगता है कि उस समय मैं कुछ एक्सएमएल टैग भूल गया क्योंकि यह अब काम कर रहा है। Btw। मदद के लिए धन्यवाद और मुझे मैवेन अपडेट के बाद हर बार जावा अनुपालन स्तर को वापस सेट करने की परेशानी बचा रही है! – LAC

+0

एक्सएमएल स्निपेट को रखने के लिए मुझे किस फाइल की आवश्यकता है? (मुझे नहीं पता कि एक माता पिता पीओएम क्या है)। –

-1

प्रोजेक्ट के pom.xml पर जाएं और टैग के बीच नीचे डालें। फिर ग्रहण प्लगइन (जैसे m2eclipse) कार्यक्षेत्र का पुनर्निर्माण करना चाहिए।

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
       <encoding>UTF-8</encoding> 
      </configuration> 
     </plugin> 

    </plugins> 
</build> 

नोट: यह परियोजना-स्तर है क्योंकि केवल परियोजना के pom.xml प्रभावित है।

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

:

+0

मैंने इस कोड को pom.xml में रखने के लिए एक ही समस्या तय की है – user4425403

2

यह मेरे लिए काम किया ..

<build> 
<finalName>ProjectName</finalName> 
<plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>2.3.1</version> 
     <configuration> 
      <source>1.6</source> 
      <target>1.6</target> 
     </configuration> 
    </plugin> 
</plugins> 
</build>