2009-05-25 54 views
4

我設法使用maven2創建了我的項目結構。 但是當我使用MVN安裝 得到錯誤 泛型編譯我的項目中不支持-source 1.3使用maven2編譯使用jdk1.5的項目

一派建立使用JDK1.5並添加構建標籤

<project> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.myProject</groupId> 
    <artifactId>project</artifactId> 
    <packaging>jar</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>myapp</name> 
    <url>http://maven.apache.org</url> 
    <dependencies> 
    <dependency> 
    <groupId>junit</groupId> 
    <artifactId>junit</artifactId> 
    <version>3.8.1</version> 
    <scope>test</scope> 
    </dependency> 
    </dependencies> 
    <build> 
    <plugins> 
     <plugin> 
      <groupId>com.myProject</groupId> 
      <artifactId>project</artifactId> 
      <configuration> 
       <source>1.5</source> 
       <target>1.5</target> 
      </configuration> 
     </plugin> 
    <plugins> 
    </build> 
</project> 

我的項目,但這不是加工。

任何提示?

回答

4

行家,編譯器插件添加到您的構建:

<build> 
    <plugins> 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.0.2</version> 
    <configuration> 
     <source>1.5</source> 
     <target>1.5</target> 
    </configuration> 
    </plugin> 
    </plugins> 
</build> 
+0

這就是我所做的。但這真的是最簡單的方法嗎?我認爲Maven是關於「約定優於配置」的,但是現在每個人都必須使用這個(不直觀的)設置。他們會改變默認的一天(也許使用Maven 3)? – Thilo 2010-09-27 01:08:07

0

有一個「容易」的方式來做到這一點,而不必貼上相同的片段都在你的模塊。您可以設置一個反應器,然後你是指它從所有其它模塊,就像這樣:

<parent> 
    <groupId>com.foo.bar</groupId> 
    <artifactId>reactor</artifactId>  
    <version>1.0-SNAPSHOT</version> 
    </parent> 

在你反應器的POM文件,你必須把這個:

<packaging>pom</packaging> 

爲了讓maven知道它不是罐子/戰爭等。

希望它有幫助