繁体   English   中英

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

[英]Problem with running java project from a command line

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

java Main

该程序启动,但是当我尝试使用与外部库关联的功能时,我有一个例外:

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

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

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

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

当您从诸如IntelliJ或eclpse之类的IDE运行程序时,它可能会自动包含外部jar,因为它取决于您的设置,因此它是您自己的类路径。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM