Ijede JavaFX Projekt in NetBeans Kompilieren gibt nicht unterstützten major.minor Version 52.0
- Netbeans 8.0 Unsupported major.minor version 52.0 error
- Unsupported major.minor version 52.0 Error (duplicate)
- Running a JAR I compiled: Unsupported major.minor version 52.0
- Can't fix Unsupported major.minor version 52.0 even after fixing compatibility
Aber keiner eine Reihe von ähnlichen Fragen sehen mit den gleichen Umständen wie meins. Ich habe ihre Lösungen trotzdem (wenn relevant) versucht 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 Funktionen zu erhalten, die ich wollte. Ich glaube, dass ich 1.8.0_52 sowohl für die JRE als auch für die JDK verwendet habe und das Projekt gut kompiliert wurde. Dann ist mein Computer benachrichtigt mich eines Updates für Java 8. Jetzt:
[email protected]:~$ 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)
[email protected]:~$ javac -version
javac 1.8.0_60
und plötzlich jede Java 8 FXML Projekt wird die obige Fehlermeldung während der Kompilierung Zeit, auch die Standard-Grund JavaFX FXML Application
, die mit NetBeans kommt. Java 7 FXML kompiliert, aber 7 fehlen wichtige Funktionen. Ich habe neue Projekte gestartet, die 8 angeben, und ich habe ein neues Projekt in 7 gestartet und dann auf 8 erhöht: dasselbe Ergebnis.
Ich habe sichergestellt, dass das Source/Binary-Format JDK 8 ist, in der Kategorie Sources und die Java-Plattform ist auf JDK 1.8 in der Kategorie Bibliotheken der Eigenschaften des Projekts festgelegt. Ich kann keine andere Einstellung zum Aktualisieren finden. Ich habe jedes Mal einen sauberen Build versucht, wenn ich eine Einstellung ändere. Der Fehler tritt in einer IDE-generierten Datei jfx-impl.xml
auf, die zu groß ist, um in ihrer Gesamtheit zu veröffentlichen, die über 4000 Zeilen ist. Ich poste hier eine Portion. Die classpath="${javafx.ant.classpath}"
ist Linie 406, wo 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 vermisst habe? Gibt es einen Fehler in NetBeans oder im 1.8.0_60 SDK oder JRE? Danke für deine Zeit & Rücksicht!
Es bedeutet, dass Sie versuchen, Ihren Code in einer anderen (älteren) Version als Sie es in kompilierten laufen – Stultuske
@stultsuke ich es nicht renne.. Es wurde noch nicht kompiliert. Wie ich schon sagte, habe ich die anderen Artikel überprüft und diese Vorschläge haben nicht geholfen. –
In der Tat, lesen zusätzliche Artikel Ich merke, dass der gleiche Vorschlag in jedem Artikel von verschiedenen Programmierern gemacht wird, und es ist nie derjenige, der als die sinnvolle Antwort ausgewählt ist. –