我在执行jasmin-2.4发行版中新编译的HelloWorld.j时遇到问题。
我下载了jasmin-2.4。我可以使用以下命令编译ok:
java -jar jasmin.jar examples\HelloWorld.j
输出为:
已生成: NoJad\j.class
当我执行新编译的程序时:
java NoJad.j
抛出一个异常:
线程" main“java.lang.VerifyError中的异常:(类: NoJad/j,方法: main签名:([Ljava/lang/String;)V)期望在堆栈上找到对象/数组,但找不到主类: NoJad.j。程序将退出。
我倾向于认为这是HelloWorld.j示例中的一个bug。也许一个新的验证器发现了一个bug?
注1:发行版中预编译的HelloWorld.class按预期工作。
注意2:我使用的是这个版本的java java版本"1.6.0_24“Java(TM) SE运行时环境(build 1.6.0_24-b07) Java HotSpot(TM) 64位服务器VM (build 19.1-b02,混合模式)
下面是发行版中的HelloWorld.j文件:
; --- Copyright Jonathan Meyer 1996. All rights reserved. -----------------
; File: jasmin/examples/HelloWorld.j
; Author: Jonathan Meyer, 10 July 1996
; Purpose: Prints out "Hello World!"
; -------------------------------------------------------------------------
.class public NoJad.j
.super java/lang/Object
;
; standard initializer
.method public <init>()V
aload_0
invokenonvirtual java/lang/Object/<init>()V
return
.end method
.method public static main([Ljava/lang/String;)V
.limit stack 2
.limit locals 2
bipush 2
astore 0
bipush 3
astore 1
aload 0
aload 1
astore 0
astore 1
return
.end method发布于 2011-04-21 14:24:53
问题是HelloWorld.j文件是假的。请查看此帖子:http://sourceforge.net/projects/jasmin/forums/forum/349052/topic/3330588
https://stackoverflow.com/questions/5721221
复制相似问题