json-simple.jar не найдено

#java #ubuntu #jar #json-simple

#java #ubuntu #jar #json-простой

Вопрос:

В настоящее время я разрабатываю проект, для которого требуется класс json creator на Java. Я пытаюсь использовать библиотеку json-simple и уже загрузил и скопировал файл .jar в каталог своих проектов. Я компилирую свой java-файл с помощью

javac -cp json-simple.jar report.java

однако, когда я пытаюсь запустить его, я получаю это сообщение об ошибке:

 Exception in thread "main" java.lang.NoClassDefFoundError: org/json/simple/JSONObject
    at report.main(report.java:22)
Caused by: java.lang.ClassNotFoundException: org.json.simple.JSONObject
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    ... 1 more
 

Я использую ubuntu и не могу использовать IDE, такую как eclipse, кто-нибудь может мне помочь? заранее благодарю вас.

Комментарии:

1. В этом сообщении об ошибке не говорится, что json-simple.jar не был найден. Это говорит о том, что класс JSONObject не был найден внутри json-simple.jar .

2. Я проверил файл .jar, и класс там есть! я использовал » jar tf json-simple.jar » чтобы проверить, и это там!

Ответ №1:

Вы определили путь к классу во время компиляции вашего кода. Вы также указывали путь к классу при запуске своего кода?

Java не связывает классы в пути к классу с вашим кодом, он просто ссылается на него, поэтому банки также должны находиться в пути к классу во время выполнения.

Комментарии:

1. да, чтобы это работало, я также должен указать путь к классу при его запуске, в противном случае он просто не находит файл .jar

Ответ №2:

хорошо, ребята, я нашел решение! Для тех, кто в конечном итоге сталкивается с той же проблемой, решение простое: после компиляции программы не запускайте ее, как другие файлы Java, вам нужно дать команду -cp указать каталог файла .jar, в этом примере это выглядит примерно так:

java -cp json-simple.jar: report.java