2012-01-25 93 views
13

我想在一個新建立的現有Maven項目安裝最新的NetBeans,但我得到了下面的錯誤,任何幫助是非常讚賞:Netbeans的Maven的錯誤:javac的:無效的目標版本:1.7

Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project com.rory.ngp.test: Compilation failure 
Failure executing javac, but could not parse the error: 
javac: invalid target release: 1.7 

我認爲它與路徑有關,但我不確定。這裏是我的/usr/lib/jvm directory;

bash-4.1$ pwd 
/usr/lib/jvm 
bash-4.1$ ls 
java        java-openjdk jre-1.6.0-openjdk.x86_64 
java-1.5.0-gcj-1.5.0.0    jre   jre-gcj 
java-1.6.0       jre-1.5.0  jre-openjdk 
java-1.6.0-openjdk-1.6.0.0.x86_64 jre-1.5.0-gcj 
java-1.6.0-openjdk.x86_64   jre-1.6.0 

回答

14

感謝OERS,你是對的。

我需要安裝JDK 1.7/Java 7中,然後編輯在NetBeans在NetBeans配置文件的安裝目錄/etc/netbeans.conf爲指向我安裝了Java的新版本:

# Default location of JDK, can be overridden by using --jdkhome <dir>: 
    netbeans_jdkhome="https://stackoverflow.com/users/rory/Documents/jdk1.7.0_02" 
+2

由於我對IntelliJ有同樣的問題:解決方案是在Maven | Runner項目設置中設置JRE版本。 – sunside

+0

這似乎是一個奇怪的事實,如果您在安裝Netbeans時安裝了新的jdk,則需要按照此處所述操作netbeans_jdkhome。 Netbeans應該能夠檢測到哪個是最新的jdk,並使用它,如果沒有找到netbeans_jdkhome指向的內容。這從一開始就是Netbeans中的一個bug。 – carl

8

內容添加以下下構建和插件的POM應該針對1.6

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 
+0

謝謝,但是當我改變了它我現在得到的錯誤:鑽石運營商-source 1.6 不支持(使用源7或更高來啓用鑽石操作員) ---- (Alt-Enter顯示提示) – Rory

+3

@Rory如果您需要java 1.7語言功能,那麼您必須在您的機器上安裝java 1.7 jdk – oers

+0

請查看http://stackoverflow.com/a/ 4724062/320180 –

0
<plugin> 
<groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.3.2</version> 
    <configuration> 
    <source>1.6</source> 
     <target>1.6</target> 
     <compilerArguments> 
      <endorseddirs>${endorsed.dir}</endorseddirs> 
     </compilerArguments> 
    </configuration> 
</plugin> 

如果在項目屬性平臺或源代碼/二進制格式不一樣使用此配置提示錯誤

相關問題