调试运行Eclipse JavaFX项目时遇ClassNotFoundException问题求助
解决JavaFX中JSON运行时找不到org.glassfish.json.JsonProviderImpl的问题
这问题我之前折腾过好一会儿!核心原因其实很清晰——你现在只导入了javax.json-api-1.1.jar,这只是JSON API的规范定义包,里面只有接口和抽象类,没有具体的实现代码。而org.glassfish.json.JsonProviderImpl是Glassfish提供的JSON API官方实现类,它根本不在这个api包里,所以编译时因为有api包能正常通过,但运行时找不到实际的实现就报错了。
给你几个具体的解决步骤:
- 下载对应的实现包:你需要和api版本匹配的JSON实现jar,也就是
javax.json-1.1.jar(注意和你的api版本1.1对应),这个包里包含了所有像JsonProviderImpl这样的实现类。 - 添加到项目依赖:把这个实现jar也加入到Eclipse项目的Build Path中,和你之前配置
javax.json-api-1.1.jar的方式完全一样,确保它在运行时的类路径里。 - 验证运行:重新运行你的JavaFX应用,这时候应该就能找到对应的实现类,不会再报ClassNotFound的错误了。
额外提一句:如果之后项目规模变大,建议换成Maven或Gradle来管理依赖,直接引入javax.json依赖就会自动帮你把api和实现包都拉过来,省得手动找jar包的麻烦。
内容的提问来源于stack exchange,提问作者Tremah
相关产品推荐
相关产品推荐

