我得到的确切错误是:
错误:由于异常,无法加载类“ 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)
我尝试运行的命令是: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运行,从长远来看,我需要创建一个类文件列表,并针对不同模块中的所有类运行它。
感谢您可以提供任何帮助或为我指明正确的方向。如果我能提供更多信息或澄清,请告诉我。
谢谢!
答案 0 :(得分:0)
请参阅:
https://dzone.com/articles/java-classnotfoundexception-vs-noclassdeffounderro
这将彻底解释两个异常/错误状态ClassNotFoundException和NoClassDefFoundError的含义以及状态之间的区别。
希望这将有助于解决您的问题。
简而言之,似乎存在一些版本控制问题,即代码中正在使用的类(或代码所使用的代码)中的某些类或方法不可用于运行时。