2014-11-21 87 views
0

我有一個爲java 1.7編寫的源代碼。我想編譯它爲Java 1.6。如果我理解正確,我需要使用options -source 1.7 -target 1.6爲Maven和Netbeans 1.6編譯java源代碼1.7

我正在使用Maven2和Netbeans(8.0)。所以,我想:

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.2</version> 
      <configuration> 
       <source>1.7</source> 
       <target>1.6</target> 
       <compilerArguments> 
        <bootclasspath>/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/rt.jar</bootclasspath> 
       </compilerArguments> 
      </configuration> 
     </plugin> 

但我得到一個javacTask: source release 1.7 requires target release 1.7

,我讀了一些人使用的Eclipse編譯器,使其工作,但我怎麼能做到這一點,如果我使用NetBeans?

非常感謝您的幫助

回答

1

編輯對不起它周圍的其他方法。您可以編譯源代碼1.6和目標1.7,但是當源代碼版本>目標版本時無法編譯它,因爲它無法處理該語言的新功能。

有關詳細信息,請參閱javac文檔中的交叉編譯選項http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html

,如果您有1.6的來源,你可以編譯他們的目標1.7版本是這樣的:

<project> 
    [...] 
    <build> 
    [...] 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.2</version> 
     <configuration> 
      <source>1.6</source> 
      <target>1.7</target> 
     </configuration> 
     </plugin> 
    </plugins> 
    [...] 
    </build> 
    [...] 
</project>> 
+0

啊確定它就是這個樣子!瞭解。謝謝:) – Sharcoux 2014-11-21 21:33:08

+0

不,對不起,爲什麼我會得到一個javacTask:源碼版本1.7需要目標版本1.7? – Sharcoux 2014-11-26 16:02:21

相關問題