0

我得到的确切错误是:

错误:由于异常,无法加载类“MainClass”:java.lang.NoClassDefFoundError:MainClass(错误名称:thiagodnf/sootparser/example/grocery/MainClass

包括类文件的 Zip,我位于以下文件路径中:

C:\Eclipse\Workspaces\Refactor\sootparser-master\sootparser-example-grocery\target\classes\thiagodnf\sootparser\example\grocery

可以在此链接中找到类文件:

他们自己的文件夹中有很多,所以如果有比 Gdrive 链接更好的共享方式,请告诉我。链接上的文件夹称为“grocery”,它应该作为文件夹放在文件路径的末尾(不是/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

源代码存储在此路径:

C:\Eclipse\Workspaces\Refactor\sootparser-master\sootparser-example-grocery\src\main\java\thiagodnf\sootparser\example\grocery

源 .java 文件的链接是:

我重命名了文件夹,因此上传时不会那么混乱,但是它的原始名称是“grocery”,并且上面的路径没有嵌套在里面(/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 运行,从长远来看,我需要做一个类文件列表,并针对不同模块中的所有类运行它。

感谢您提供任何帮助,或为我指明正确的方向。如果我可以提供更多信息或澄清,请告诉我。

谢谢!!

4

1 回答 1

0

请参阅:
https
://dzone.com/articles/java-classnotfoundexception-vs-noclassdeffounderro 这对两个异常/错误状态 ClassNotFoundException 和 NoClassDefFoundError 的含义以及状态之间的差异进行了彻底的解释。
希望这将有助于解决您的问题。

简而言之,似乎存在一些版本控制问题,即在您的代码(或您的代码使用的代码)中使用的类中的某些类或方法对运行时不可用。

于 2019-03-24T16:44:18.080 回答