Das Kompilieren eines JavaFX-Projekts in NetBeans gibt eine nicht unterstützte major.minor-Version 52.0 zurück.
Ich sehe eine Reihe ähnlicher Fragen
Netbeans 8.0 Nicht unterstützter Fehler in major.minor Version 52.0Unsupported major.minor version 52.0 Error (duplicate) Ein JAR ausführen, das ich kompiliert habe: Nicht unterstützte major.minor-Version 52.0 Kann nicht unterstützte major.minor-Version 52.0 auch nach dem Korrigieren der Kompatibilität nicht reparierenAber keine mit den gleichen Umständen wie meine. Ich habe ihre Lösungen trotzdem ausprobiert (sofern relevant) und sie haben nicht geholfen.
Ich hatte eine JavaFX FXML-Anwendung in NetBeans 8.0.2 erstellt und musste das JDK manuell von 1.7 auf 1.8 aktualisieren, um die gewünschten Funktionen zu erhalten. Ich glaube, ich habe 1.8.0_52 sowohl für die JRE als auch für das JDK verwendet und das Projekt wurde gut kompiliert. Dann hat mein Computer mich über ein Update für Java 8 informiert. Jetzt:
mc@MC-Desktop:~$ java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
mc@MC-Desktop:~$ javac -version
javac 1.8.0_60
und plötzlich erhält jedes Java 8 FXML-Projekt während der Kompilierung die oben genannte Fehlermeldung, sogar das Standard-BasicJavaFX FXML Application
das kommt mit NetBeans. Java 7 FXML wird kompiliert, aber in 7 fehlen wichtige Funktionen. Ich habe neue Projekte mit der Angabe von 8 gestartet und in 7 ein neues Projekt gestartet und es dann auf 8 aktualisiert: das gleiche Ergebnis.
Ich habe sichergestellt, dass das Quell- / Binärformat JDK 8 in der Kategorie "Quellen" ist und die Java-Plattform in der Kategorie "Bibliotheken" der Projekteigenschaften auf JDK 1.8 festgelegt ist. Ich kann keine andere Einstellung zum Aktualisieren finden. Ich habe versucht, jedes Mal, wenn ich eine Einstellung ändere, einen sauberen Build zu erstellen. Der Fehler tritt in einer IDE-generierten Datei @ aujfx-impl.xml
Das ist zu groß, um es in seiner Gesamtheit zu posten. Es besteht aus über 4000 Zeilen. Ich poste hier einen Teil. Dasclasspath="${javafx.ant.classpath}"
ist die Zeile 406, in der der Compiler den Fehler meldet:
<target name="-check-ant-javafx-version" depends="-pre-check-ant-javafx-version,
-set-endorsed-javafx-ant-classpath,-set-javafx-ant-classpath" if="do.check.ant-javafx.version">
<echo message="ant-javafx.jar.location = ${ant-javafx.jar.location}" level="verbose"/>
<echo message="javafx.ant.classpath = ${javafx.ant.classpath}" level="verbose"/>
<taskdef resource="com/sun/javafx/tools/ant/antlib.xml"
uri="javafx:com.sun.javafx.tools.ant"
classpath="${javafx.ant.classpath}"/>
<condition property="have-fx-ant-init">
<typefound name="javafx:com.sun.javafx.tools.ant:init-ant"/>
</condition>
<property name="ant-javafx-version-already-checked-in-jfximpl" value="true"/>
<echo message="have-fx-ant-init = ${have-fx-ant-init}" level="verbose"/>
</target>
Die Fehlermeldung lautet:
/home/chris/Projects/Java/FXMLTimer/nbproject/jfx-impl.xml:3438: The following error occurred while executing this line:
/home/chris/Projects/Java/FXMLTimer/nbproject/jfx-impl.xml:406:
java.lang.UnsupportedClassVersionError: com/sun/javafx/tools/ant/Permissions : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at org.apache.tools.ant.AntClassLoader.defineClassFromData(AntClassLoader.java:1136)
at org.apache.tools.ant.AntClassLoader.getClassFromStream(AntClassLoader.java:1307)
at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1362)
at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1323)
at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1076)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:278)
at org.apache.tools.ant.taskdefs.Definer.addDefinition(Definer.java:579)
at org.apache.tools.ant.taskdefs.Definer.execute(Definer.java:237)
at org.apache.tools.ant.taskdefs.Antlib.execute(Antlib.java:180)
at org.apache.tools.ant.taskdefs.Definer.loadAntlib(Definer.java:428)
at org.apache.tools.ant.taskdefs.Definer.execute(Definer.java:277)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
at sun.reflect.GeneratedMethodAccessor169.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:435)
at org.apache.tools.ant.Target.performTasks(Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:441)
at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
at sun.reflect.GeneratedMethodAccessor169.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:435)
at org.apache.tools.ant.Target.performTasks(Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:286)
at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:555)
at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:153)
BUILD FAILED (total time: 7 seconds)
Hat jemand eine Idee, was ich vermisse? Gibt es einen Fehler in NetBeans oder im 1.8.0_60 SDK oder JRE? Vielen Dank für Ihre Zeit & Überlegung!