java - 从命令行运行java项目的问题
问题描述
我有一个包含两个类和一个外部库的 JavaFX 项目。当我从 IDE(IntelliJ Idea)运行它时 - 一切正常。但是当我使用命令从命令行运行它时:
java Main
程序启动,但是当我尝试使用与外部库关联的功能时,出现异常:
Exception in thread "Thread-4" java.lang.NoClassDefFoundError: com/google/gson/Gson
为什么当我通过 IDE 运行它时一切正常,而当我通过控制台运行它时,它不再看到库 Gson?
解决方案
最常见的原因Gson
是创建 jar 时没有导出库。
当 IDE 运行您的代码时,它可以找到它。但是当你将它导出到一个 JAR 并且它不包含相关的依赖项时,你会得到这个错误。
推荐阅读
- javascript - 声明性和对象环境记录如何与“var”、“let”和“const”相关?
- azure - 无法将来自资源的输入事件反序列化为 Json
- html - 当其中有另一个表格时如何使所有表格行的高度相同
- python - tkinter 中的 Pong 游戏,检查球是否击中垂直桨
- c++ - Emsripten 编译的 qt 应用程序不显示图像
- php - 分叉的 PHP 进程中的连接错误
- firebase - 我的 _showErrorMessage 小部件在 null 上调用了 getter 'length'
- c# - 在面向 .NET 4.7.2 时尝试将 ServiceStack 从 4.6.3 升级到 5.5.0 时出现编译时错误
- python - 使用 Python 列表为多边形创建坐标
- r - 如何在 r 中使用 CI 绘制多元逻辑回归的奇数比