IKVM.NET_07_用户指南_IKVM.NET 虚拟机(ikvm.exe)
ikvm工具是在 .NET 上实现的一个 Java 虚拟机。
- 用法
- 选项
- 备注
- 例子
用法
ikvm [ options ] classname [ args ... ]ikvm [ options ] -jar jarfile [ args ... ]
1) options
虚拟机的命令行选项。
2) classname
包含 main 方法的的一个类的合法名字。不要包含路径或是.class扩展名。不要使用 "-jar" 选项。
3) jarfile
一个可执行的jar文件的名字。只能使用 "-jar" 选项。
4) args
传递给 main 类的命令行参数。
选项
1) -cp classpath or -classpath classpath
规定 JVM 的 classpath。classpath 是一个用逗号分隔的路径列表,列出目录和zip / jar 文件路径。注意:如果你规定这个选项多次,那么只使用最后一次。
2) -Dproperty-name=value
设置一个名为 Dproperty-name 系统属性给 value。注意:-D 和 property-name 之间没有空格。
3) –Xsave
保存生成的程序集 (for debugging)。
4) –Xtime
执行次数。
5) -Xbootclasspath:classpath
JVM 引导 classpath 路径的参数。classpath 是一个用逗号分隔的目录和jar包的路径。通过引导 class 装载器,这些 class 就可以使用,另外,这些 class 也可以是 GNU Classpath 路径下的库。
注意:如果你规定这个选项多次,那么只使用最后一次。
6) -Xtrace:name
显示所有指定名字的跟踪点。
7) -Xmethodtrace:name
生成方法追踪到规定的输出方法。
8) –Xwait
在退出时,保存进行挂起。
备注
这个命令扮演着 SUM / IBM JVM 的作用。在许多情况下,你可以使用Java命令行,或是用 ikvm 来替代 java。
具体使用请参考 Sun 文档。注意:ikvm只支持下面列出的选项。
ikvm 查找 class 的方式如下:
- 若没有指定 -cp/-classpath 或 –jar 选项,并且没有设置 CLASSPATH 环境变量,则在当前路径中查找。
- 若没有指定 -cp/-classpath 或 –jar 选项,并且设置 CLASSPATH 环境变量,则在 CLASSPATH 规定的路径中查找(除非 CLASSPATH 中包含,否则不在当前路径中查找)。
- 若指定 -cp/-classpath 选项,则会忽略 CLASSPATH 环境变量,则仅仅在 -cp/ –classpath 规定的路径中查找。
- 若指定 –jar 选项,则 jar 文件被前置到CLASSPATH中(或 –cp / -classpath 规定的 class)。
注意:这种与 Sun JVM 的方式不同。
例子
ikvm MyProg 从当前目录装载名为 MyProg.class 文件(除非设置 CLASSPATH 环境变量,在这种情况下,它才会查找),并且执行它的 main 方法。
ikvm -cp c:/java/lib;c:/mystuff/mylib.jar;c:/mystuff/otherlib.zip org.me.MyProg
从 一个名为 MyProg.class 文件装载一个名为 org.me.MyProg 的类,并执行它的 main 方法。按下面路径搜索:
1) c:/java/lib/org/me/MyProg.class
2) c:/mystuff/mylib.jar (looks inside for org/me/MyProg.class)
3) c:/mystuff/otherlib.zip (looks inside for org/me/MyProg.class)
ikvm -jar /usr/share/myprog.jar
在可执行的 jar 包文件 /usr/share/myprog.jar 中执行 Java 代码。