Как включить сторонний jar-файл в компиляцию и среду выполнения с помощью командной строки в Windows 10?

#java #compilation #classpath

#java #Сборник #путь к классу

Вопрос:

Я пытаюсь понять включение сторонних jar-файлов в проект Java, используя только командную строку в Windows 10.

В частности, я пытаюсь включить файл 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:UserspfortDesktopjavajarsjson-20200518.jar » «C:UserspfortDesktopjavacommypackageexampleExamp.java «

компиляция выполнена успешно.

Выполнить:

java -cp «C:UserspfortDesktopjavajarsjson-20200518.jar » com.mypackage.example.Examp

Я получаю отчет:

Ошибка: не удалось найти или загрузить основной класс com.mypackage.example.Pokus, вызванный: java.lang.Исключение ClassNotFoundException: com.mypackage.example.Pokus

Вторая попытка:

java -cp «C:UserspfortDesktopjavajarsjson-20200518.jar » «C:UserspfortDesktopjavacommypackageexamplePokus «

Но мне возвращается то же сообщение об ошибке. Где я ошибаюсь?
Это неправильная структура?
Я не понимаю, компиляция прошла успешно, но запуск не работает.

Ответ №1:

Скомпилированный Examp.class файл не является частью json-20200518.jar , поэтому вам нужно будет добавить каталог, содержащий его, в командную строку. Предполагая, что это текущий каталог ( . ):

 java -cp "C:UserspfortDesktopjavajarsjson-20200518.jar;." com.mypackage.example.Examp