2012-01-05 14 views
49

का उपयोग नहीं करता मैं एक maven- पैकेज करना चाहते हैं (बहु) मॉड्यूल, माता पिता पोम में शामिल हैं:Maven जावा 7

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.3.2</version> 
    <configuration> 
    <source>${maven.compiler.source}</source> 
    <target>${maven.compiler.target}</target> 
    <encoding>${project.build.sourceEncoding}</encoding> 
    </configuration> 
</plugin> 

मैं जावा 1.7 का उपयोग कर रहा है और गुणों को निम्नानुसार निर्दिष्ट कर रहे हैं:

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <maven.compiler.source>1.7</maven.compiler.source> 
    <maven.compiler.target>1.7</maven.compiler.target> 
    <slf4j.version>1.6.1</slf4j.version> 
</properties> 

Maven संस्करण 2.2.1 है:

[email protected]:~/workspace/treetank/bundles/treetank-core$ mvn -version 
Apache Maven 2.2.1 (rdebian-6) 
Java version: 1.7.0 
Java home: /usr/lib/jvm/jdk1.7.0/jre 
Default locale: en_US, platform encoding: UTF-8 
OS name: "linux" version: "3.0.0-14-generic" arch: "amd64" Family: "unix" 

मैं कोई सुराग नहीं क्यों है यह जावा संस्करण 1.7 का उपयोग नहीं करता है। उदाहरण के लिए mvn package का आह्वान करते समय मुझे त्रुटि मिलती है (उदाहरण के लिए हीरा ऑपरेटर सक्षम करने के लिए संसाधन 7 या उच्चतर)। क्या आप जानते हैं कि यह 1.6 का उपयोग क्यों करता है?

प्रभावी पोम है:

<plugin> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.3.2</version> 
    <executions> 
     <execution> 
     <id>default-testCompile</id> 
     <phase>test-compile</phase> 
     <goals> 
      <goal>testCompile</goal> 
     </goals> 
     <configuration> 
      <source>1.7</source> 
      <target>1.7</target> 
      <encoding>UTF-8</encoding> 
     </configuration> 
     </execution> 
     <execution> 
     <id>default-compile</id> 
     <phase>compile</phase> 
     <goals> 
      <goal>compile</goal> 
     </goals> 
     <configuration> 
      <source>1.7</source> 
      <target>1.7</target> 
      <encoding>UTF-8</encoding> 
     </configuration> 
     </execution> 
    </executions> 
    <configuration> 
     <source>1.7</source> 
     <target>1.7</target> 
     <encoding>UTF-8</encoding> 
    </configuration> 
    </plugin> 
+0

मेरे लिए एक साधारण मेवेन प्रोजेक्ट पर काम करता है आरएचईएल 5 पर। 1.6 के साथ 1.7 स्रोत संकलित करते समय मुझे प्राप्त त्रुटि पाठ भी अलग है - 'हीरा ऑपरेटर -सोर्स 1.6' – Raghuram

उत्तर

120

द्वारा दिए गए के साथ JDK 1.7 की अनुकूलता इस मुद्दे पर पूरी तरह से अच्छा स्पष्टीकरण यह Maven 2.2.1 में काम नहीं कर सकता , लेकिन मेवेन 3.0.4 के साथ, बस दो गुणों को पोम के गुणों में जोड़कर मेरे लिए जावा 7 सक्षम बनाता है:

<properties> 
    <maven.compiler.source>1.7</maven.compiler.source> 
    <maven.compiler.target>1.7</maven.compiler.target> 
</properties> 
+2

में समर्थित नहीं है मेरी परियोजना ठीक से संकलित कर रही थी, लेकिन फिर किसी भी तरह से एक src फ़ोल्डर pom.xml में जोड़ा गया जो स्पष्ट रूप से उन दोनों को सेट करता है केवल उस विशेष फ़ोल्डर के लिए 1.6 तक गुण, जिसने इसे ट्रैक करना कठिन बना दिया। –

+1

इससे मदद नहीं मिली है :( – Pasha

+0

ग्रहण में काम नहीं करते हैं। – Wuaner