ControlsFX网站说:
如果您想使用ControlsFX示例应用程序,只需下载ControlsFX版本并在命令提示符上运行以下命令(请务必将*替换为FXSample和ControlsFX-Sample的实际版本号):
java-jar控件sfx-samples-*. jar
我下载了ControlsFX 9.0.0,据说它是为Java 9及更高版本的用户设计的。
当我运行java-jar-controlsfx-samples-9.0.0时。jar我得到
错误:找不到或加载主类fxsampler。FXSampler
由以下原因引起:java.lang.NoClassDefFoundError:javafx/Application/Application
但没关系,根据使用JavaFX 11指南运行HelloWorld,我必须添加模块。
所以我尝试java--模块路径“C:\Program Files\java\javafx-sdk-11\lib”--add modules=javafx。控件-jar controlsfx-samples-9.0.0。jar,我得到
缺少JavaFX应用程序类fxsampler。FX采样器
我从包含controlsfx-9.0.0的目录执行所有命令。jar,控制SFX-samples-9.0.0。jar和fxsampler-1.0.10。jar
。
java-version
对我的输出是:
openjdk版本“11.0.1”2018-10-16
openjdk Runtime Environment 18.9(build 11.0.1 13)
openjdk 64位服务器VM 18.9(build 11.0.1 13,混合模式)
欢迎提出任何意见和建议<提前谢谢你。
编辑:
在遵循Slaw的建议并运行java--模块路径“C:\Program Files\java\javafx-sdk-11\lib”后,添加模块=javafx。控件,javafx。fxml、javafx。web-jar控件fx-samples-9.0.0。jar我得到
Initialising FXSampler sample scanner...
Discovering projects...
Found project 'ControlsFX', with sample base package 'org.controlsfx.samples'
Exception in Application start method
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: Exception in Application start method
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:900)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class impl.org.controlsfx.version.VersionChecker
at org.controlsfx.control.ControlsFXControl.(ControlsFXControl.java:35)
at org.controlsfx.control.WorldMapView.(WorldMapView.java:93)
at org.controlsfx.samples.HelloWorldMapView.(HelloWorldMapView.java:55)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.base/java.lang.Class.newInstance(Class.java:584)
at fxsampler.util.SampleScanner.discoverSamples(SampleScanner.java:86)
at fxsampler.FXSampler.start(FXSampler.java:106)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
... 1 more
Exception running application fxsampler.FXSampler
在PR#720中修复。因此,新的Maven工件将包含修复。
可以在此处查看完整的发行历史记录。
尽管回顾了如何使用Java 11和JavaFX 11运行ControlsFX示例应用程序,以及如何运行ControlsFX Java 11和JavaFX 11以及web上的其他建议,但我仍然无法让ControlsFX示例应用程序在Java 11(OpenJDK 11.0.1)中运行。这是我的命令行: 和输出: 任何帮助将不胜感激,谢谢。
我有一个用Java 8编译的可执行jar文件,其中包含一个名为< code>app.jar的JavaFX应用程序。 当我安装了Java8时,我可以简单地用运行它。 现在我只安装了Java 11,运行上面的命令会产生以下错误: 因为Java 11不再包含JavaFX。 所以我考虑安装JavaFX。openjfx.org以两种形式提供JavaFx:SDK和JMOD文件。 我认为我不需要SDK,因为我不
我想迁移到JavaFX11。我已经学习了OpenJFX的“JavaFX11入门”(https://openjfx.io/openjfx-docs/),使用OpenJDK 11.0.1和Gluon的JavaFX SDK 11.0.1(在Netbeans 10VC2上),并且已经能够使示例应用程序运行(在我看来,我应该能够很容易地将JavaFX8代码移植到JavaFX11)。 然而,这正是我无法找到方
比方说我安装了OracleJDK11(只是为了让事情更简单)。然后我下载了Gluon的JavaFX11,并在JDK上解包。实际上,我在哪里解包JavaFX并不重要(因为我的下一个目标是基于OpenJRE制作我自己的JRE安装程序)。然后我尝试启动应用程序: 我得到了这个: 启动层初始化过程中发生错误java.lang.LayerInstantiation异常:包jdk.internal.jrtfs
在NetBeans中,我创建了一个名为JFXDev的Java应用程序项目,其中包含一个COM包。在com包内部是一个主类,其代码如下: 修改项目属性: 1)库->Modulepath添加路径C:/Program Files/java/javafx-sdk-11.0.2/lib 2)库->类路径添加路径C:/Program Files/java/javafx-sdk-11.0.2/lib/javaf
我一直在尝试为javafx编译和运行这个示例 然后我试着运行这个例子 $java--mode-path"PATH_TO_FX":mods-m hellofx/hellofx。HelloFX 启动层初始化时出错java.nio.file.InvalidPathException:非法字符 所以我认为通往FX的路径是个问题,但事实并非如此。 $java——模块路径src:mods-m hellofx/