【问题标题】:How to include a third-party jar-file in compilation and runtime using command prompt in Windows 10?如何在 Windows 10 中使用命令提示符在编译和运行时包含第三方 jar 文件?
【发布时间】:2020-09-28 10:21:02
【问题描述】:

我正在尝试仅使用 Windows 10 中的命令行来了解在 java 项目中包含第三方 jar 文件。

具体来说,我尝试在我的“项目”中包含文件 json-20200518.jar,以便我可以在项目中使用 java 对象 JSONObject。

我的 java 文件:

package com.mypackage.example;

import org.json.JSONObject;

class Example {
    public static void main(String[] args) {
        // ... program logic
    }
}

我的 java 文件 (Examp.java) 的位置:

./com/mypackage/example

jar 文件位置:

./jars

使用cmd win10我编译:

javac -cp "C:\Users\pfort\Desktop\java\jars\json-20200518.jar" "C:\Users\pfort\Desktop\java\com\mypackage\example\Examp.java"

编译成功。

运行:

java -cp "C:\Users\pfort\Desktop\java\jars\json-20200518.jar" com.mypackage.example.Examp

我收到一份报告:

错误:无法找到或加载主类 com.mypackage.example.Pokus 引起:java.lang.ClassNotFoundException: com.mypackage.example.Pokus

第二次尝试:

java -cp "C:\Users\pfort\Desktop\java\jars\json-20200518.jar" "C:\Users\pfort\Desktop\java\com\mypackage\example\Pokus"

但同样的错误信息又回到我身边。 哪里出错了?
是不是结构不对?
没搞懂,编译成功但是运行不行。

【问题讨论】:

    标签: java compilation classpath


    【解决方案1】:

    编译后的Examp.class 文件不是json-20200518.jar 的一部分,因此您需要将包含它的目录添加到命令行。假设它是当前目录(.):

    java -cp "C:\Users\pfort\Desktop\java\jars\json-20200518.jar;." com.mypackage.example.Examp
    

    【讨论】:

      猜你喜欢
      • 2012-03-12
      • 1970-01-01
      • 2013-01-09
      • 2017-01-09
      • 2015-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多