我如何修复controlsfx演示程序来初始化org.controlsfx.glyphfont.FontAwesome类?

问题描述 投票:2回答:1

controlsfx JavaFX库具有一个演示程序,并且某些控件无法运行,例如“列表选择视图”,“列表操作视图”或“ BreadCrumbBar”。

我在新安装了JDK11和Gradle 5.5的新Windows 10 PC上进行了重新测试。我下载了分支9 .zip,验证是否存在module-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$1(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以及上述控件。

JDK 11,11.0.1,11.0.2,11.0.2摇篮5.2、5.5命令行IntelliJ我通常在另一台PC上开发

javafx font-awesome controlsfx
1个回答
0
投票

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遇到了相同的问题。

© www.soinside.com 2019 - 2024. All rights reserved.