首页 > 解决方案 > 从命令行运行java项目的问题

问题描述

我有一个包含两个类和一个外部库的 JavaFX 项目。当我从 IDE(IntelliJ Idea)运行它时 - 一切正常。但是当我使用命令从命令行运行它时:

java Main

程序启动,但是当我尝试使用与外部库关联的功能时,出现异常:

Exception in thread "Thread-4" java.lang.NoClassDefFoundError: com/google/gson/Gson

为什么当我通过 IDE 运行它时一切正常,而当我通过控制台运行它时,它不再看到库 Gson?

标签: javajavafx

解决方案


最常见的原因Gson是创建 jar 时没有导出库。

当 IDE 运行您的代码时,它可以找到它。但是当你将它导出到一个 JAR 并且它不包含相关的依赖项时,你会得到这个错误。


推荐阅读