2013-02-11 55 views
1

編譯如何強制Maven來編譯1.6兼容的源行家並不在Java 1.6

我在Eclipse中的Maven做web應用程序項目。更改web.xml使用3.0版本 - >然後更新配置,現在我不能啓動tomcat。 我發現我必須迫使Maven來編譯源1.6兼容,並且我要補充

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
<configuration> 
    <source>1.7</source> 
    <target>1.7</target> 
    <showDeprecation>true</showDeprecation> 
    <showWarnings>true</showWarnings> 
    <executable>${env.JAVA_HOME_7}/bin/javac</executable> 
    <fork>true</fork> 
</configuration> 

但在日食有效POM是不可編輯

所以是有一個Maven與Eclipse兼容或者其他方式強制maven編譯源碼1.6版本?

+0

問題關閉 – simar 2013-02-11 08:46:05

回答

1

編輯:

只是使用,而不是1.7的Java 1.6。

EDIT2:

您的版本:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <configuration> 
     <source>1.7</source> 
     <target>1.7</target> 
     <showDeprecation>true</showDeprecation> 
     <showWarnings>true</showWarnings> 
     <executable>${env.JAVA_HOME_7}/bin/javac</executable> 
     <fork>true</fork> 
    </configuration> 
</plugin> 

應該是:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <configuration> 
     <source>1.6</source> 
     <target>1.6</target> 
     <showDeprecation>true</showDeprecation> 
     <showWarnings>true</showWarnings> 
     <executable>${env.JAVA_HOME_7}/bin/javac</executable> 
     <fork>true</fork> 
    </configuration> 
</plugin> 
0

只是爲了澄清:

在項目POM,你實際上並沒有寫所有的configuraton,但覆蓋(並最終增加功能)的默認配置。

Eclipse中的「Effective POM」顯示了它的結果,所以確實這是不可編輯的。但是,如果您在POM中添加了一些配置(如在其他答案中建議使用waht),它將覆蓋默認設置。它將按原樣使用,並將顯示在「有效POM」中。