我正在尝试使用Jasmin将Jasmin汇编代码转换为Java类文件。使用here中的Hello World示例。

返回以下错误:

Exception in thread "main" java.lang.NoSuchMethodError: jasmin.parser.parse()V
    at jasmin.ClassFile.readJasmin(ClassFile.java:1160)
    at jasmin.Main.assemble(Main.java:81)
    at jasmin.Main.run(Main.java:200)
    at jasmin.Main.main(Main.java:157)


我怀疑Java版本可能有问题,因为Jasmin似乎很旧,并且可能是使用较旧的Java版本实现的。

到目前为止,我已经尝试使用以下命令运行示例:java -jar jasmin.jar test.j

我尝试使用Java 8、7、6和4失败地运行它。

我使用的Jasmin版本是2.4。

此外,我还尝试下载Jasmin的源代码并手动编译它,结果相同。

是否有人对如何解决此问题有任何指示或想法?

最佳答案

问题是,如果您在Java的类路径中有其他版本的cup,则jasmin可能会遇到介绍性的麻烦,并且会抛出NoSuchMethodError

要解决此问题,只需从Java的类路径中删除其他CUP版本。

所有信誉归功于@MargaretBloom,以查找问题。

08-05 16:43