首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从命令行运行java项目时出现问题

从命令行运行java项目时出现问题
EN

Stack Overflow用户
提问于 2019-04-01 01:04:24
回答 2查看 129关注 0票数 0

我有一个包含两个类和一个外部库的JavaFX项目。当我在集成开发环境(IntelliJ Idea)中运行它时,一切都运行得很好。但是当我从命令行使用命令运行它时:

代码语言:javascript
复制
java Main

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

代码语言:javascript
复制
Exception in thread "Thread-4" java.lang.NoClassDefFoundError: com/google/gson/Gson

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-01 01:54:06

当你从你的集成开发环境中运行你的程序时,比如IntelliJ或者eclpse,它可能会自动地将外部jars包含到它自己的类路径中,这取决于你的设置。

如果希望从命令行运行gson jar,则需要使用-classpath参数将gson jar添加到类路径中。

代码语言:javascript
复制
java -classpath external-library.jar Main

参考资料:

Windows - https://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html

Unix - https://docs.oracle.com/javase/8/docs/technotes/tools/unix/classpath.html

票数 1
EN

Stack Overflow用户

发布于 2019-04-01 01:15:09

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

当IDE运行您的代码时,它可以找到它。但是,当您将其导出到JAR时,如果它不包含相关的依赖项,则会出现此错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55443311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档