【问题标题】:Java compile and run from command line with external jars in the same folder [duplicate]Java在同一文件夹中使用外部jar从命令行编译和运行[重复]
【发布时间】:2021-02-17 21:49:37
【问题描述】:

我有几个 java 类可以做一个简单的数据库测试。我有一个名为“MorphiaTest”的文件夹中的所有 java 文件。我在同一个文件夹中也有他们依赖的所有罐子。我想编译这个小应用程序,以便可以移动它并运行它。

我正在运行 ubuntu 并尝试从命令行执行所有这些操作,以便将我编译的应用程序 SCP 到服务器上。

在这个文件夹中是 QueryTest.java 和 Record.java 以及必需的 Mongo-java-driver.jar 和 morphia-1.3.2.jar。

我要做的就是编译这些并从命令行运行“java QueryTest”并运行我的程序。

这就是我的编译方式

javac -cp ":mongo-java-driver-3.8.2.jar:morphia-1.3.2.jar" QueryTest.java Record.java 

一切都很好,这编译得很好。但是当我去运行“java QueryTest”时,我得到了这个:

Error: Unable to initialize main class QueryTest
Caused by: java.lang.NoClassDefFoundError: org/mongodb/morphia/Datastore

我做错了什么?

【问题讨论】:

  • 运行时需要再次指定-cp。用于编译的类路径未保存。

标签: java command-line build javac noclassdeffounderror


【解决方案1】:

搞定了。

编译: javac -cp .:mongo-java-driver-3.8.2.jar:morphia-1.3.2.jar QueryTest.java Record.java

运行: java -cp .:mongo-java-driver-3.8.2.jar:morphia-1.3.2.jar QueryTest

【讨论】:

    猜你喜欢
    • 2015-02-21
    • 2014-02-03
    • 2012-11-19
    • 1970-01-01
    • 2012-07-09
    • 2020-12-22
    • 1970-01-01
    • 2013-04-06
    • 1970-01-01
    相关资源
    最近更新 更多