私は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 Platformアプリを作成し、設定したメインアプリのプロパティでJavaプラットフォーム = JDK 1.7を作成しています。そして、モジュールのプロパティの1つでソースレベル = 1.7を設定しました。
suite.xml(184はここの2行目です)
<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(ここでは2行目が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に設定します。
EDIT 1:
NetBeansの問題 があります:
Webプロジェクト固有の問題であるJ2SEプロジェクトで正常に動作します。問題は、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}">
EDIT 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/harness/etc/app.conf
jdkhome=
行にjdk7パスを追加します。
または
以下を使用してNetBeansを起動します。
netbeans --jdkhome/Java7/Home/dir
NetBeans 8
の更新:
編集するファイルは
/ Applications/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を受け入れました。
これは私のために働いたあなたはこれを試すことができます。
Netbeans 8.2を使用していて、それが使用していたjdkは1.8で、プロジェクトをJava 1.7のバージョン。オプション] [1]
ライブラリーをクリックします。
次に、ライブラリの管理をクリックします。 [ライブラリの管理] [2]
その後、プラットフォームを追加してur javapathを追加し、[Adding Java platform] [3]を閉じます
その後、プロジェクトをビルドできます。