JavaFX:更新到Java 9后出现奇怪的ClassNotFoundException

PMC*_*PMC 4 java eclipse javafx java-9 javafx-9

我在Java 8中启动了一个Maven项目,并希望将其迁移到Java 9.同时我也从Eclipse Neon EE转到Eclipse Oxygen EE.(重新安装JFX SDK).虽然Eclipse Workspace没有显示任何错误; 一旦我尝试编译并运行以前在Java 8中运行完全正常的完全相同的程序,我得到以下异常:

{...}
Caused by: java.lang.ClassNotFoundException: com.sun.javafx.css.converters.PaintConverter
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
... 26 more
Run Code Online (Sandbox Code Playgroud)

运行应用程序应用程序的异常.主要

我现在已经多次重建了这个项目,无法让它工作......

how*_*ger 7

在Java 9中,以前的内部类

com.sun.javafx.css.converters.PaintConverter
Run Code Online (Sandbox Code Playgroud)

公开了

javafx.css.converter.PaintConverter在模块中javafx.graphics.

请参阅Javadoc - 类PaintConverter.

JFoenix通过单独的JAR支持Java 9 .

  • 如果JFoenix确实直接使用内部com.sun类,那么有人应该向项目提交一个错误,让他们知道支持的/公共API. (2认同)