This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 269679 - JavaFX 8 Project Under Java 9 in NB9
Summary: JavaFX 8 Project Under Java 9 in NB9
Status: NEW
Alias: None
Product: javafx
Classification: Unclassified
Component: Project (show other bugs)
Version: Dev
Hardware: PC Windows 7
: P3 normal (vote)
Assignee: Roman Svitanic
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-01-30 04:41 UTC by WallaceJackson
Modified: 2017-02-06 10:08 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Screenshots of each move I made setting up JFX8 project in NB9+JDK9 (2.19 MB, application/x-zip-compressed)
2017-01-30 04:41 UTC, WallaceJackson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description WallaceJackson 2017-01-30 04:41:46 UTC
Created attachment 163503 [details]
Screenshots of each move I made setting up JFX8 project in NB9+JDK9

Bootstrap JavaFX 8 (Hello World) Project Build Failed in NB9 using JDK 9
Installed JDK8u121 then NB9 (Friday's build) then JDK 9, configured NB9 to use JDK 9, Created bootstrap JavaFX Application, Build/Run via JDK 9, consistently get error that leads me to believe run is using JRE8 instead of JRE 9, as it is using a library that is one version too old (52 instea of 53). Screenshots show error messages, but here it is again here:
--------------------------
ant -f C:\\Users\\Walls\\Documents\\NetBeansProjects\\Java9BoardGame jfxsa-run
init:
deps-jar:
Created dir: C:\Users\Walls\Documents\NetBeansProjects\Java9BoardGame\build
Updating property file: C:\Users\Walls\Documents\NetBeansProjects\Java9BoardGame\build\built-jar.properties
Created dir: C:\Users\Walls\Documents\NetBeansProjects\Java9BoardGame\build\classes
Created dir: C:\Users\Walls\Documents\NetBeansProjects\Java9BoardGame\build\empty
Created dir: C:\Users\Walls\Documents\NetBeansProjects\Java9BoardGame\build\generated-sources\ap-source-output
Compiling 1 source file to C:\Users\Walls\Documents\NetBeansProjects\Java9BoardGame\build\classes
compile:
Created dir: C:\Users\Walls\Documents\NetBeansProjects\Java9BoardGame\dist
C:\Users\Walls\Documents\NetBeansProjects\Java9BoardGame\nbproject\jfx-impl.xml:428: 
java.lang.UnsupportedClassVersionError: com/sun/javafx/tools/ant/Application has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
	at org.apache.tools.ant.AntClassLoader.defineClassFromData(AntClassLoader.java:1143)
	at org.apache.tools.ant.AntClassLoader.getClassFromStream(AntClassLoader.java:1311)
	at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1367)
	at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1328)
	at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1083)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:348)
	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:293)
	at sun.reflect.GeneratedMethodAccessor104.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	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:1405)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1376)
	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1260)
	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: 4 seconds)
----------------------------------[module-info.java]------------------
module Java9BoardGame {
    requires javafx.media;
    requires javafx.controls;
    exports java9boardgame to javafx.graphics;
}
Comment 1 Martin Balin 2017-02-06 08:55:33 UTC
Developing JavaFX app for JDK9 in NetBeans 9 shows currently 2 problems:

1. Running NB9 on top of JDK8 as runtime platform and setting just JavaFX project Java Platform to JDK9 and Source level to JDK9 causes problem described above by WallaceJackson. E.g. for Build action JDK8 is used to perform Ant action with classes from JDK9 JavaFX ant tasks:  
Loaded from /home/xxxx/jdk-9-b151/lib/ant-javafx.jar com/sun/javafx/tools/ant/Application.class
Exiting /home/xxxx/NetBeansProjects/JavaFXApplication6/build.xml.
/home/xxxx/NetBeansProjects/JavaFXApplication6/nbproject/jfx-impl.xml:3479: The following error occurred while executing this line:
/home/xxxx/NetBeansProjects/JavaFXApplication6/nbproject/jfx-impl.xml:428: 
java.lang.UnsupportedClassVersionError: com/sun/javafx/tools/ant/Application has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0
	at java.lang.ClassLoader.defineClass1(Native Method)
        ...

2. When NetBeanas 9 is started on top of JDK9 using either --jdkhome switch or JAVA_HOME variable (JavaFX project is using JDK9 as Java Platform and Source level) then different error happens in project Build action, see: https://netbeans.org/bugzilla/show_bug.cgi?id=269752
Comment 2 Martin Balin 2017-02-06 10:08:10 UTC
I've found that it is also necessary to set system PATH to JDK9/bin so JavaFX ant tasks are run with JDK9. If PATH points to JDK8 then ClassVersionErr happens as well.