【问题标题】:How to set a java compiler in Netbeans如何在 Netbeans 中设置 java 编译器
【发布时间】:2012-03-06 15:28:53
【问题描述】:

我正在进入 Java7 开发,我已将 JDK7 添加到 Java Platforms 并在项目属性中选择了它。

但是当我编译时,我会收到如下消息:

warning: java/lang/Boolean.class(java/lang:Boolean.class): major version 51 is newer than 50, the highest major version supported by this compiler.
It is recommended that the compiler be upgraded.

javac: invalid target release: 1.7
/Applications/NetBeans/NetBeans 7.1.app/Contents/Resources/NetBeans/harness/suite.xml:184: The following error occurred while executing this line:
/Applications/NetBeans/NetBeans 7.1.app/Contents/Resources/NetBeans/harness/common.xml:206: Compile failed; see the compiler error output for details.

据我所知,Netbeans 使用的是 javac 1.6。如何更改为 1.7?

编辑:

我正在编写一个 NetBeans 平台应用程序,并在主应用程序属性中设置:Java 平台 = JDK 1.7。在模块的一个属性中,我设置了 Source level = 1.7

编辑2

  • Mac 操作系统 10.7.3
  • NetBeans IDE 7.1(内部版本 201112071828)
  • openjdk 版本“1.7.0-internal”
  • OpenJDK 运行时环境(内部版本 1.7.0-internal-uko_2012_02_15_11_51-b00)
  • OpenJDK 64 位服务器 VM(内部版本 23.0-b15,混合模式)

suite.xml(184是这里的第二行)

<target name="build" depends="-init,branding,release,-hide-excluded-modules" description="Build all modules in the suite.">
    <subant target="netbeans" buildpath="${modules.sorted}" inheritrefs="false" inheritall="false">
        <property name="cluster.path.evaluated" value="${cluster.path.evaluated}"/> <!-- Just for speed of pre-7.0 projects -->
    </subant>
</target>

common.xml(206是这里的第二行)

<nb-javac srcdir="${src.dir}" destdir="${build.classes.dir}" debug="${build.compiler.debug}" debuglevel="${build.compiler.debuglevel}" encoding="UTF-8"
        deprecation="${build.compiler.deprecation}" optimize="${build.compiler.optimize}" source="${javac.source}" target="${javac.target}" includeantruntime="false">
    <classpath refid="cp"/>
    <compilerarg line="${javac.compilerargs}"/>
    <processorpath refid="processor.cp"/>
</nb-javac>

【问题讨论】:

    标签: netbeans javac java-7


    【解决方案1】:

    右击你的项目 --> 项目属性

    然后在 Sources 中将 Source/Binary Format 设置为 JDK 7。

    编辑 1:

    有一个NetBeans issue

    在 J2SE 项目中工作正常,Web 项目特定问题。 问题是 fork="false" JDK 7.0 参数被传递给 JDK 6.0 编译器。可执行文件需要 fork="true"。

    在build-iml.xml的第293行

    <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}"
    encoding="${source.encoding}" excludes="@{excludes}"
    executable="${platform.javac}" fork="${javac.fork}" includeantruntime="false"
    includes="@{includes}" source="${javac.source}" srcdir="@{srcdir}"
    target="${javac.target}" tempdir="${java.io.tmpdir}">
    

    应该变成:

    <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}"
    encoding="${source.encoding}" excludes="@{excludes}"
    executable="${platform.javac}" fork="yes" includeantruntime="false"
    includes="@{includes}" source="${javac.source}" srcdir="@{srcdir}"
    target="${javac.target}" tempdir="${java.io.tmpdir}">
    

    编辑 2(如果第一个提示不起作用):

    尝试在 JDK7 中运行 Netbeans IDE。

    编辑 Netbeans 配置文件:

    Linux

    ~/.netbeans/7.0/etc/app.conf

    Mac Os X

    /Applications/NetBeans/NetBeans\ 7.1.app/Contents/Resources/NetBeans/harness/etc/app.conf

    jdkhome=这一行添加jdk7路径。

    或者

    使用 :

    启动 netbeans

    netbeans --jdkhome /Java7/Home/dir

    【讨论】:

    • 我正在编写一个 NetBeans 平台应用程序,并在我设置的主应用程序属性中:Java 平台 = JDK 1.7。在模块的其中一个属性中,我设置了 Source level = 1.7。所以问题不在项目设置中
    • 检查此链接也许解决方案也适合您netbeans.org/bugzilla/show_bug.cgi?id=203088
    • 是的,但问题出在 Web 应用程序中,我使用的是 Java SE。在我的应用程序中,我的build.xml 中没有 javac 任务。并且错误不是指向我的 ant 构建脚本,而是指向一些 harness xmls
    • 好的,你能在问题中分享 XML 行 suite.xml:184common.xml:206 吗?编译器说错误在这里。你能提供你的netbeans版本和你的操作系统吗?
    • 编辑 netbeans conf 文件,我的地址是:~/.netbeans/7.0/etc/app.conf。取消注释 jdkhome= 行并设置 jdk7。
    【解决方案2】:

    NetBeans 8 更新:

    要编辑的文件是

    /应用程序/NetBeans/NetBeans\ 8.0.app/Contents/Resources/NetBeans/harness/etc/app.conf

    我加了一行

    jdkhome="/Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk"
    

    重新启动 NetBeans,它接受 JDK 1.7 U67 作为其编译平台。

    【讨论】:

      【解决方案3】:

      我使用的是 Netbeans 8.2,jdk 是 1.8,我想在 Java 的 1.7 版本中编译项目。

      • 右键单击您的项目并转到属性选项卡
      • 点击库
      • 然后点击管理库
      • 然后添加平台并添加您的 javapath 并关闭

      然后你就可以构建你的项目了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-26
        • 2022-12-12
        • 1970-01-01
        相关资源
        最近更新 更多