转换为二进制时 Jasmin NoSuchMethodError Java class

Jasmin NoSuchMethodError when converting to binary Java class

我正在尝试使用 Jasmin 将 Jasmin 汇编代码转换为 Java class 文件。使用 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 发现问题。