当前位置: 首页 > 面试题库 >

JavaFX:更新为Java 9后出现怪异的ClassNotFoundException

盖向荣
2023-03-14
问题内容

我使用Java 8启动了一个Maven项目,并希望将其迁移到Java9。与此同时,我也从Eclipse Neon EE迁移到Eclipse Oxygen
EE。(重新安装了JFX SDK)。尽管Eclipse工作区没有显示任何错误;一旦尝试编译并运行与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

异常正在运行的应用程序application.Main

我现在已经多次重建了该项目,无法使其正常工作…


问题答案:

在Java 9中 ,以前的内部类

com.sun.javafx.css.converters.PaintConverter

公开为

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

请参见Javadoc
类的PaintConverter


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



 类似资料:
  • 所以在离开我的Android Studio项目一段时间后,我运行了所有的更新。

  • 当我想更新JavaFX中的时,出现了一个问题。 调试很混乱,因为我找不到异常的原因。我在网上搜索了一下,但没有找到对我有用的东西。希望有人能帮我解决这个问题。

  • 我们正在使用QAF进行功能测试自动化。我们最近从3.3升级了selenium版本。1至3.4。0,它在某些位置开始出现以下错误。 我的观察是,如果我们没有driver.findBy(BY)声明,它工作得很好。为了测试目的,我在一个地方尝试了driver.findBy(String)而不是driver.findBy(BY),它工作得很好。但是我不知道有多少地方团队使用了上述方法。 下面是重现错误的测

  • 我正在做linux eclipse。 我已经按照维基提供的步骤更新了代码。 1º我创建了一个新的eclipse项目。2º我运行hello world,它运行正常。3:我把旧代码放在类和资源上。4ºI更新appdelegate。cpp。h、 还有jni/Android。新文件的mk。5º编译正确。 6°从日食中笑我得到以下例外: 有点不对劲,但我不知道发生了什么。 同样的代码适用于xcode项目 我

  • 我在启动方法中有以下代码: 我启动程序,选择第二项,然后点击“更改”按钮几次。什么都没发生,一切都很好。但如果我选择项目“6”并点击“更改”按钮,组合框就会自动选择下一个项目(“7”)。为什么会这样? 然后我们可以换一排 list.set(5,新的StringBuilder("-"); 在…上 然后,如果我选择项目“2”并单击“更改”按钮,则什么也不会发生。再次,如果我选择项目“9”并单击“更改”

  • 在将优胜美地升级到El Capitan之后,我对mcrypt(和Laravel)有一个问题。当我运行本地站点(Laravel Framework版本4.2.17)时,我会 需要PHP扩展。 以下是我的设置: 1) 哪个php 2) php——版本 ############################################################################