【问题标题】:Netbeans Maven Error: javac: invalid target release: 1.7Netbeans Maven 错误:javac:无效的目标版本:1.7
【发布时间】:2012-02-18 14:46:33
【问题描述】:

我正在尝试在全新安装的最新 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 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

【问题讨论】:

    标签: netbeans maven java


    【解决方案1】:

    谢谢你,你是对的。

    我需要安装 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"
    

    【讨论】:

    • 由于我在 IntelliJ 上遇到了同样的问题:解决方案是在 Maven|Runner 项目设置中设置 JRE 版本。
    • 这似乎是一个奇怪的事实,如果您在已经安装 Netbeans 的情况下安装新的 jdk,您需要按照此处所述操作 netbeans_jdkhome。 Netbeans 应该能够检测到哪个是最新的 jdk,并在未找到 netbeans_jdkhome 指向的内容时使用它。这一定是 Netbeans 自古以来的一个错误。
    【解决方案2】:

    将以下内容添加到您的 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>
    

    【讨论】:

    • 谢谢,但是当我更改它时,我现在收到错误:-source 1.6 中不支持菱形运算符(使用 -source 7 或更高版本来启用菱形运算符)----(Alt-Enter显示提示)
    • @Rory 如果你需要 java 1.7 语言特性,那么你必须在你的机器上安装一个 java 1.7 jdk
    【解决方案3】:
    <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>
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-22
      • 2015-06-01
      • 2015-05-28
      • 1970-01-01
      • 1970-01-01
      • 2014-03-08
      • 2015-03-18
      • 2021-04-29
      相关资源
      最近更新 更多