Ошибка выполнения Randoop, невозможно загрузить класс из-за исключения - PullRequest
0 голосов
/ 24 марта 2019

Точная ошибка, которую я получаю:

Ошибка: невозможно загрузить класс "MainClass" из-за исключения: java.lang.NoClassDefFoundError: MainClass (неправильное имя: thiagodnf / sootparser / пример / бакалея / MainClass

Включен Zip файлов классов, которые я нашел в пути к файлу:

C: \ Eclipse, \ Рабочие области \ Рефакторинг \ sootparser-мастер \ sootparser-пример-продовольственный \ \ целевые классы \ thiagodnf \ sootparser \ Пример \ продуктовый

Файлы классов можно найти по этой ссылке:

В их собственных папках их куча, так что если есть лучший способ поделиться, чем ссылка Gdrive, дайте мне знать. Папка по ссылке называется «бакалея», ее следует поместить в папку в конце пути к файлу (это не / grocery / grocery)

Я пытаюсь выполнить команду: C: \ Eclipse \ randoop> java -Xmx3000m -classpath C:\Eclipse\Workspaces\Refactor\soot parser-master\sootparser-example-grocery\target\classes\thiagodnf\sootparser\exa mple\grocery;C:/Eclipse/randoop/randoop-all-4.1.1.jar randoop.main.Main gentests --testclass=MainClass

Исходный код хранится по этому пути:

* * 1 022, C: \ Eclipse, \ Рабочих области \ Рефакторинга \ sootparser-мастер \ sootparser-пример-продовольственный \ SRC \ главной \ Java \ thiagodnf \ sootparser \ Примера \ продуктового * * тысяча двадцать три

Ссылка на исходные файлы .java:

Я переименовал папку, чтобы она не выглядела так запутанно для загрузки, однако ее оригинальное название - «бакалея», и, как указано выше, путь не вложен в (/ grocery / grocery)

Моя версия Java:

>     > java Runtime Environment (build 1.8.0_201-b09) 
>     > Java HotSpot(TM) 64-Bit
>     > Server VM (build 25.201-b09, mixed mode)version "1.8.0_201" Java(TM) SE

До сих пор я пробовал разные места и пути к «MainClass». Я переместил его до корневого каталога, а также поместил в тот же каталог, что и файл randoop jar. Кажется, что Randoop работает с некоторыми другими файлами классов на моей машине, поэтому меня беспокоит то, что «MainClass» не отформатирован так, как randoop может его прочитать, или я что-то упустил из-за моей команды или пути к местоположению.

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

Спасибо за все, что вы можете сделать, чтобы помочь или указать мне правильное направление. Если я могу предоставить дополнительную информацию или разъяснения, пожалуйста, дайте мне знать.

Спасибо !!

1 Ответ

0 голосов
/ 24 марта 2019

Пожалуйста, смотрите:
https://dzone.com/articles/java-classnotfoundexception-vs-noclassdeffounderro
Это дает подробное объяснение того, что означают два состояния исключения / ошибки ClassNotFoundException и NoClassDefFoundError и различия между состояниями.
Надеемся, это поможет решить вашу проблему.

Короче говоря, похоже, что существует некоторая проблема с версиями, из-за которой некоторый класс или метод в классе, который используется в вашем коде (или код, используемый вашим кодом), недоступен для среды выполнения.

...