IKVM.Net 的是基于 .NET CLR 的 Java虚拟机。它是一个开源项目,主页地址:http://www.ikvm.net/[/url] 。
基于.NET的Java虚拟机意味着我们可以让Java程序跑在.NET上,可以通过虚拟机这个中介让Java程序和.NET应用程序一起协同工作。更难能可贵的是,IKVM同时支持微软的.NET Framework 和 Mono。
IKVM的技术特性包括:
可以静态和动态(运行时)把Java的字节代码转换为.NET 的IL形式;
包括了一个Java的标准库,这个标准库已经静态编译成了.NET IL的形式;
提供力JNI 接口,可以让Java程序通过.NET 或者 Mono 访问本地资源。
提供了一个供Java调用.NET 类的Stub。
IKVM现在可以提供对JDK 1.4很好的支持。
IKVM目前不成熟的地方在以下几个方面:
对AWT和Swing没有提供支持,在IKVM的开发计划中,这项优先级别不高。
对Java的安全模型没有实现。
一般来说我们可以在一下3种情况下使用IKVM:
直接在IKVM下运行Java程序,比如:ikvm -jar myapp.jar
用IKVM来把Java类库转换成.NET类库,比如:ikvmc -target:library mylib.jar ?可以生成: mylib.dll
使用[url=http://www.ikvm.net/userguide/ikvmstub.html]ikvmstub 来用Java开发.NET程序。
一些和IKVM项目相关的资料:
MonoDevelop: A Mono IDE with IKVM Support