gpt4 book ai didi

java - NoClassDefFoundError : javafx/beans/InvalidationListener

转载 作者:行者123 更新时间:2023-11-30 09:14:18 24 4
gpt4 key购买 nike

运行程序出现如下错误。

NoClassDefFoundError: javafx/beans/InvalidationListener

命令行如下

java -cp "%JAVA_HOME%\lib\jfxrt.jar" -jar MyProgram.jar

jar 存在:

>dir "%JAVA_HOME%\lib\*.jar"
Volume in drive C is SYS
Volume Serial Number is 2CD4-0B40

Directory of C:\Program Files\Java\jdk1.7.0_40\jre\lib

04.10.2013 01:32 172 765 alt-rt.jar
04.10.2013 01:32 3 605 930 charsets.jar
04.10.2013 01:32 4 374 572 deploy.jar
04.10.2013 01:32 890 363 javaws.jar
04.10.2013 01:32 109 196 jce.jar
04.10.2013 01:32 532 559 jfr.jar
04.10.2013 01:32 15 106 233 jfxrt.jar
04.10.2013 01:32 581 198 jsse.jar
04.10.2013 01:32 385 management-agent.jar
04.10.2013 01:32 1 921 341 plugin.jar
04.10.2013 01:32 2 448 362 resources.jar
04.10.2013 01:32 59 966 803 rt.jar
12 File(s) 89 709 707 bytes
0 Dir(s) 43 361 476 608 bytes free

里面的文件存在

>jar tf "%JAVA_HOME%\lib\jfxrt.jar" | D:\APPS\cygwin\bin\grep InvalidationListener
com/sun/javafx/fxml/BeanAdapter$PropertyInvalidationListener.class
javafx/beans/InvalidationListener.class
javafx/beans/WeakInvalidationListener.class
javafx/scene/media/MediaView$MediaErrorInvalidationListener.class

它想要什么?

最佳答案

来自Java manual :

-jar When you use this option, the JAR file is the source of all user classes, and other user class path settings are ignored.

当您同时提供 -jar-cp 参数时,您提供的自定义类路径将被完全忽略。

对于 Java 7,JavaFX 不在默认类路径中。要使独立的 JavaFX 应用程序 jar 在 Java 7 上运行,您必须使用 JavaFX deployment tools 打包该 jar或第 3 方 mavengradle插件。此类打包工具将 JavaFX 查找代码插入到打包的 jar 中,以在系统上找到合适的 JavaFX 版本。

如果你只使用 Oracle Java 8 一切都会简单很多而不是使用 Java 7。对于 Oracle Java 8,Java 位于默认类路径中,因此当您使用 java -jar 运行 JavaFX 应用程序 jar 时,它就可以正常工作。

关于java - NoClassDefFoundError : javafx/beans/InvalidationListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20574866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com