2010-08-20 9 views
8

मैं एक Maven परियोजना संकलित करने के लिए कोशिश कर रहा हूँ, स्रोत कोड जेनेरिक्स और जावा 1.5 के अन्य featuers का उपयोग करता है, इस प्रकार के कारणमैं अपने प्रोजेक्ट को 1.5 के खिलाफ पैकेज करने के लिए मेवेन को कैसे मजबूर कर सकता हूं?

मेरी POM.xml में विफल अपने निर्माण मैं स्रोत और लक्ष्य संपत्तियों के लिए 1.5 के खिलाफ निर्माण विन्यास कॉन्फ़िगर किया है , लेकिन यह मेरे मुद्दे को हल नहीं करता है

क्या मेरा POM.xml सही है, या क्या मुझे कुछ याद आ रही है?

धन्यवाद

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <name>MyClass</name> 
    <groupId>uk.co.mydomain</groupId> 
    <artifactId>MyClass</artifactId> 
    <version>1.0</version> 

    <build> 
     <finalName>MyClass</finalName> 
     <plugins> 
     <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <configuration> 
      <source>1.5</source> 
      <target>1.5</target> 
      <descriptors> 
       <descriptor>src/main/resources/dist.xml</descriptor> 
      </descriptors> 
      <archive> 
       <manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile> 
      </archive> 
      </configuration> 
     </plugin> 
     </plugins> 
    </build> 

    <repositories> 
     <repository> 
      <id>sun-repo-2</id> 
      <url>http://download.java.net/maven/2/</url> 
      <releases> 
       <enabled>true</enabled> 
      </releases> 
      <snapshots> 
       <enabled>false</enabled> 
      </snapshots> 
     </repository> 
    </repositories> 
</project> 

आउटपुट जब

generics are not supported in -1.3 (use -source 5 or higher to enable generics) 

उत्तर

16

आप कुछ के साथ विधानसभा-प्लगइन कॉन्फ़िगर किया गया कुछ गुण सेट करने के लिए स्रोत/लक्ष्य के बारे में जानकारी लेकिन संकलन को कॉन्फ़िगर करने के लिए आपको 0 को कॉन्फ़िगर करने की आवश्यकता है सही तरीके से।

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.3.1</version> 
    <configuration> 
    <source>1.5</source> 
    <target>1.5</target> 
    </configuration> 
</plugin> 

अद्यतन: यह वास्तव में के बजाय JDK 1.5 का उपयोग करते हुए केवल javac के स्रोत/लक्ष्य विकल्प का उपयोग करने के लिए मजबूर करने Maven-एनफोर्सर-प्लगइन के साथ जोड़ा जाना चाहिए।

24

का निर्माण करने के attemtping आप जावा के साथ संकलित करने के लिए 1,5

<properties> 
    <!-- maven-compiler-plugin configuration --> 
    <maven.compiler.source>1.5</maven.compiler.source> 
    <maven.compiler.target>1.5</maven.compiler.target> 
</properties> 
+1

यह संकलक प्लगइन को कॉन्फ़िगर नहीं करेगा। यह केवल कुछ गुणों को परिभाषित करेगा। – khmarbaise

+7

कंपाइलर प्लगइन द्वारा उपयोग की जाने वाली कुछ गुण: http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#source –

+0

यह अच्छा है, मैंने कभी इसके बारे में सोचा नहीं, हालांकि यह स्पष्ट होना चाहिए । +1 –

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

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