我正在进行Java7开发,我已经将JDK7添加到Java平台中,并在项目属性中选择了它。
但当我编译时,我会收到这样的消息:
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正在使用javac1.6。如何更改为1.7?
编辑:
我正在写一个NetBeans平台应用程序,在主应用程序属性中我设置了:Java平台=JDK 1.7。在模块的一个属性中,我设置了源级别=1.7
编辑2
- Mac操作系统10.7.3
- NetBeans IDE7.1(Build 201112071828)
- openjdk版本"1.7.0-internal"
- OpenJDK运行时环境(内部版本1.7.0-internal-uko_2012_02_15_11_51-b00)
- OpenJDK64位服务器虚拟机(版本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>
右键单击您的项目-->项目属性
然后在Sources
中将Source/Binary Format
设置为JDK 7。
编辑1:
存在NetBeans问题:
在J2SE项目、Web项目特定问题中工作良好。问题是fork=";false";JDK 7.0参数传递给JDK 6.0编译器。可执行文件要求fork=";真";。
在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(如果第一个提示不起作用):
尝试在JDK7中运行Netbeans IDE。
编辑Netbeans conf文件:
Linux
~/.netbeans/7.0/etc/app.conf
Mac Os X
/Applications/NetBeans/NetBeans\7.1.app/Contents/Resources/NetBeans/carness/etc/app.conf
在jdkhome=
行中添加jdk7路径。
或
使用启动netbeans
netbeans--jdkhome/Java7/Home/dir
NetBeans 8
:的更新
要编辑的文件是
/应用程序/NetBeans/NetBeans\8.0.app/Contents/Resources/NetBeans/arness/etc/app.conf
我添加了行
jdkhome="/Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk"
重新启动NetBeans后,接受JDK1.7U67作为编译平台。
我使用的是Netbeans 8.2,jdk是1.8,我想用Java的1.7版本编译这个项目。
- 右键单击项目并转到属性选项卡
- 单击库
- 然后单击管理库
- 之后添加平台并添加您的javapath并关闭
然后你就可以构建你的项目了。