我正在尝试使用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,以查找问题。