如何修复 controlsfx 演示程序以初始化 class org.controlsfx.glyphfont.FontAwesome?
How do I fix the controlsfx demo program to initialize class org.controlsfx.glyphfont.FontAwesome?
controlsfx JavaFX 库有一个演示程序,有些控件无法运行,例如列表选择视图、列表操作视图或面包屑条。
我在新的 Windows 10 PC 上重新测试了这个,新安装了 JDK11 和 Gradle 5.5。我下载了分支 9 .zip,确认模块-info.java 文件存在,然后输入
gradlew 运行
对于上述例子,控制台显示:
Exception in thread "JavaFX Application Thread" java.lang.NoClassDefFoundError: Could not initialize class org.controlsfx.glyphfont.FontAwesome
at org.controlsfx.samples/org.controlsfx.samples.HelloListActionView.createActions(HelloListActionView.java:144)
at org.controlsfx.samples/org.controlsfx.samples.HelloListActionView.getPanel(HelloListActionView.java:63)
at org.controlsfx.fxsampler/fxsampler.SampleBase.buildSample(SampleBase.java:77)
at org.controlsfx.fxsampler/fxsampler.FXSampler.buildSampleTabContent(FXSampler.java:397)
at org.controlsfx.fxsampler/fxsampler.FXSampler.updateTab(FXSampler.java:305)
at org.controlsfx.fxsampler/fxsampler.FXSampler.changeSample(FXSampler.java:296)
at org.controlsfx.fxsampler/fxsampler.FXSampler.lambda$start(FXSampler.java:159)
JAVA_HOME 是 C:\Program Files\Java\jdk-11.0.3
gradle --version
------------------------------------------------------------
Gradle 5.5
------------------------------------------------------------
Build time: 2019-06-28 17:36:05 UTC
Revision: 83820928f3ada1a3a1dbd9a6c0d47eb3f199378f
Kotlin: 1.3.31
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.14 compiled on March 12 2019
JVM: 11.0.3 (Oracle Corporation 11.0.3+12-LTS)
OS: Windows 10 10.0 amd64
我想利用 FontAwesome 以及上述控件。
我尝试过
JDK11、11.0.1、11.0.2、11.0.2
Gradle 5.2, 5.5
命令行
IntelliJ
我通常开发的另一台 PC
ControlsFX 具有大量在 build.gradle file 中处理的外部依赖项。
如果您的项目不使用 gradle 构建库,而是导入它的 .jar,那么您应该 将所有这些选项添加到 VM.要在 IntelliJ 中执行此操作,请转到编辑配置,在那里您可以找到一个 VM 选项字段。
您可以尝试复制并粘贴这些选项:
--add-exports=javafx.graphics/com.sun.javafx.scene=org.controlsfx.controls --add-exports=javafx.graphics/com.sun.javafx.scene.traversal=org.controlsfx.controls --add-exports=javafx.graphics/com.sun.javafx.css=org.controlsfx.controls --add-exports=javafx.controls/com.sun.javafx.scene.control.behavior=org.controlsfx.controls --add-exports=javafx.controls/com.sun.javafx.scene.control=org.controlsfx.controls --add-exports=javafx.controls/com.sun.javafx.scene.control.inputmap=org.controlsfx.controls --add-exports=javafx.base/com.sun.javafx.event=org.controlsfx.controls --add-exports=javafx.base/com.sun.javafx.collections=org.controlsfx.controls --add-exports=javafx.base/com.sun.javafx.runtime=org.controlsfx.controls --add-exports=javafx.web/com.sun.webkit=org.controlsfx.controls --add-exports=javafx.graphics/com.sun.javafx.css=org.controlsfx.controls
这对我有用。我在使用 ListSelectionView 时遇到了与 ControlsFX 11.0 相同的问题。
controlsfx JavaFX 库有一个演示程序,有些控件无法运行,例如列表选择视图、列表操作视图或面包屑条。
我在新的 Windows 10 PC 上重新测试了这个,新安装了 JDK11 和 Gradle 5.5。我下载了分支 9 .zip,确认模块-info.java 文件存在,然后输入
gradlew 运行
对于上述例子,控制台显示:
Exception in thread "JavaFX Application Thread" java.lang.NoClassDefFoundError: Could not initialize class org.controlsfx.glyphfont.FontAwesome
at org.controlsfx.samples/org.controlsfx.samples.HelloListActionView.createActions(HelloListActionView.java:144)
at org.controlsfx.samples/org.controlsfx.samples.HelloListActionView.getPanel(HelloListActionView.java:63)
at org.controlsfx.fxsampler/fxsampler.SampleBase.buildSample(SampleBase.java:77)
at org.controlsfx.fxsampler/fxsampler.FXSampler.buildSampleTabContent(FXSampler.java:397)
at org.controlsfx.fxsampler/fxsampler.FXSampler.updateTab(FXSampler.java:305)
at org.controlsfx.fxsampler/fxsampler.FXSampler.changeSample(FXSampler.java:296)
at org.controlsfx.fxsampler/fxsampler.FXSampler.lambda$start(FXSampler.java:159)
JAVA_HOME 是 C:\Program Files\Java\jdk-11.0.3
gradle --version
------------------------------------------------------------
Gradle 5.5
------------------------------------------------------------
Build time: 2019-06-28 17:36:05 UTC
Revision: 83820928f3ada1a3a1dbd9a6c0d47eb3f199378f
Kotlin: 1.3.31
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.14 compiled on March 12 2019
JVM: 11.0.3 (Oracle Corporation 11.0.3+12-LTS)
OS: Windows 10 10.0 amd64
我想利用 FontAwesome 以及上述控件。
我尝试过 JDK11、11.0.1、11.0.2、11.0.2 Gradle 5.2, 5.5 命令行 IntelliJ 我通常开发的另一台 PC
ControlsFX 具有大量在 build.gradle file 中处理的外部依赖项。
如果您的项目不使用 gradle 构建库,而是导入它的 .jar,那么您应该 将所有这些选项添加到 VM.要在 IntelliJ 中执行此操作,请转到编辑配置,在那里您可以找到一个 VM 选项字段。
您可以尝试复制并粘贴这些选项:
--add-exports=javafx.graphics/com.sun.javafx.scene=org.controlsfx.controls --add-exports=javafx.graphics/com.sun.javafx.scene.traversal=org.controlsfx.controls --add-exports=javafx.graphics/com.sun.javafx.css=org.controlsfx.controls --add-exports=javafx.controls/com.sun.javafx.scene.control.behavior=org.controlsfx.controls --add-exports=javafx.controls/com.sun.javafx.scene.control=org.controlsfx.controls --add-exports=javafx.controls/com.sun.javafx.scene.control.inputmap=org.controlsfx.controls --add-exports=javafx.base/com.sun.javafx.event=org.controlsfx.controls --add-exports=javafx.base/com.sun.javafx.collections=org.controlsfx.controls --add-exports=javafx.base/com.sun.javafx.runtime=org.controlsfx.controls --add-exports=javafx.web/com.sun.webkit=org.controlsfx.controls --add-exports=javafx.graphics/com.sun.javafx.css=org.controlsfx.controls
这对我有用。我在使用 ListSelectionView 时遇到了与 ControlsFX 11.0 相同的问题。