如何在Netbeans中设置Java编译器

unhi4e5o  于 2022-11-10  发布在  Java
关注(0)|答案(3)|浏览(201)

我正在进行Java7开发,我已经将JDK 7添加到 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。在其中一个模块的属性中,我设置了源代码级别=1.7

编辑2

*Mac操作系统10.7.3版
*NetBeans集成开发环境7.1(内部版本号201112071828)
*openjdk版本“1.7.0-内部”
*OpenJDK运行时环境(内部版本号1.7.0-内部版本号2012年02月15日11月51日-b 00)
*OpenJDK64位服务器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>
9gm1akwq

9gm1akwq1#

右键单击您的项目--〉项目属性
然后在Sources中将Source/Binary Format设置为JDK 7。

编辑1:

有一个NetBeans issue
在J2 SE项目中工作正常,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"                          ;as opposed to ${javac.fork}
      includeantruntime="false"
      includes="@{includes}" 
      source="${javac.source}" 
      srcdir="@{srcdir}"
      target="${javac.target}" 
      tempdir="${java.io.tmpdir}">

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

尝试在JDK 7中运行Netbeans IDE。
编辑Netbeans配置文件:

Linux

/etc/应用程序配置文件

Mac Os X

/应用程序/NetBeans7.1.app/Contents/Resources/NetBeans/harness/etc/app.conf
jdkhome=行中添加jdk 7路径。
"或者"
启动netbeans时使用:
netbeans --jdkhome /Java7/主目录/目录

mfpqipee

mfpqipee2#

NetBeans 8的更新:
要编辑的文件为
/应用程序/NetBeans8.0.app/Contents/Resources/NetBeans/harness/etc/app.conf
我加了一句

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

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

kuhbmx9i

kuhbmx9i3#

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

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

然后您就可以建置项目。

相关问题