controlsfx JavaFX库有一个演示程序,一些控件无法运行,例如列表选择视图、列表操作视图或BreadCrumbBar。
我在一台新的Windows10个人电脑上重新测试了这一点,新安装了JDK11和Gradle 5.5 .我下载了分支9 .zip,验证了模块info.java文件是否存在,并输入
梯度跑
对于上述示例,控制台显示:
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 is C:\Program \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。
发布于 2019-10-17 10:54:06
ControlsFX有大量的外部依赖项,这些依赖项在build.gradle文件中处理。
如果您的项目不使用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这对我有用。在使用ControlsFX 11.0时,我也遇到了同样的问题。
https://stackoverflow.com/questions/56910229
复制相似问题