我得到的确切错误是:
错误:由于异常,无法加载类"主类": 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 链接更好的共享方式,请告诉我。链接上的文件夹称为"杂货店",它应该作为文件夹放在文件路径的末尾(它不是/杂货店/杂货店)
我尝试运行的命令是:C:\Eclipse\randoop>java -Xmx3000m -classpath C:EclipseWorkspacesRefactorsoot parser-mastersootparser-example-grocerytargetclassesthiagodnfsootparserexa mplegrocery;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文件的链接是:
我重命名了文件夹,这样上传就不会那么混乱,但是它的原始名称是"杂货店",并且像上面的路径没有嵌套在里面(/杂货店/杂货店)
我的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 运行,从长远来看,我需要做一个类文件列表,并针对不同模块中的所有类运行它。
感谢您能做的任何事情来帮助我,或为我指出正确的方向。如果我能提供更多信息或澄清,请告诉我。
谢谢!!
請參閱:
https://dzone.com/articles/java-classnotfoundexception-vs-noclassdeffounderro
這對 ClassNotFoundException 和 NoClassDefFoundError 的兩個異常/錯誤狀態的含義以及狀態之間的差異進行了徹底的解釋。
希望这将有助于解决您的问题。
简而言之,它看起来存在一些版本控制问题,即代码中使用的类(或代码使用的代码)中的某些类或方法对运行时不可用。