Jasmin HelloWorld示例失败

时间:2011-04-19 18:54:40

标签: java jasmin

我在从jasmin-2.4发行版执行新编译的HelloWorld.j时遇到问题。

我下载了jasmin-2.4。我可以使用:

编译好

java -jar jasmin.jar examples \ HelloWorld.j

输出是:

生成:NoJad \ j.class

当我执行新编译的程序时:

java NoJad.j

抛出异常:

线程“main”中的异常java.lang.VerifyError :(类:NoJad / j,方法:main signature:([Ljava / lang / String;)V)期望在堆栈上找到对象/数组 找不到主类:NoJad.j。程序将退出。

我倾向于认为这是HelloWorld.j示例中的一个错误。也许一个新的验证者遇到了一个错误???

注1:分发中预编译的HelloWorld.class按预期工作。

注2:我正在使用这个版本的java java版“1.6.0_24” Java(TM)SE运行时环境(版本1.6.0_24-b07) Java HotSpot(TM)64位服务器VM(版本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

1 个答案:

答案 0 :(得分:4)

问题是HelloWorld.j文件是假的。请参阅此主题:http://sourceforge.net/projects/jasmin/forums/forum/349052/topic/3330588