Netbeans Maven错误:javac:无效的目标版本:1.7

Netbeans Maven错误:javac:无效的目标版本:1.7,netbeans,maven,java,Netbeans,Maven,Java,我试图在最新安装的netbeans上构建一个现有的maven项目,但遇到以下错误,非常感谢您的帮助: 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 th

我试图在最新安装的netbeans上构建一个现有的maven项目,但遇到以下错误,非常感谢您的帮助:

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目录的内容

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

将以下内容添加到pom下的build和它应该针对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>

org.apache.maven.plugins
maven编译器插件
1.6
1.6

谢谢大家,你说得对

我需要安装JDK 1.7/Java 7,然后在netbeans安装目录/etc/netbeans.conf中编辑netbeans配置文件,以指向我安装新版本Java的位置:

    # Default location of JDK, can be overridden by using --jdkhome <dir>:
    netbeans_jdkhome="/users/rory/Documents/jdk1.7.0_02"
#JDK的默认位置,可以使用--jdkhome:
netbeans_jdkhome=“/users/rory/Documents/jdk1.7.0_02”

org.apache.maven.plugins
maven编译器插件
2.3.2
1.6
1.6
${annowed.dir}

如果项目属性中的平台或源代码/二进制格式与此配置不一致,则会出现错误

谢谢,但当我更改它时,我现在得到错误:在-Source 1.6中不支持菱形运算符(使用-Source 7或更高版本来启用菱形运算符)--(Alt-Enter显示提示)@Rory如果你需要java 1.7语言功能,那么你必须在你的机器上安装java 1.7 jdk,因为IntelliJ也有同样的问题:解决方案是在Maven | Runner项目设置中设置JRE版本。如果你在已经安装Netbeans的情况下安装新的jdk,这似乎是一个奇怪的事实,您需要操作netbeans_jdkhome,如下所述。Netbeans应该能够检测哪一个是最新的jdk,如果找不到Netbeans_jdkhome指向的内容,就使用它。这一定是Netbeans从很久以前就存在的一个bug。
<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>