从官方网站下载www.ikvm.net现在最新版本是ikvm-0.36.0.5
由于下载站点SourceForge被电信封了,我们需要通过美国的一个镜像站点http://www.mirrorservice.org/mirrors去找到IKVM的下载路径,这个站点提供很多开源软件,有兴趣的可以自己去HAPPY。
下载ikvm-0.36.0.5.zip压缩包以后我们解压缩,找到BIN目录下,里面有3个可执行文件IKVM,IKVMC,IKVMSTUB。IKVM功能类似JDK中编译和运行JAVA程序,IKVMC用来将JAR包生成DLL或者可执行文件EXE,IKVMSTUB可以将DLL生成JAR提供JAVA调用。
接下来我们试验一下,首先将已经编译好的CLASS文件打包成JAR包,然后打开我们的控制台,进入IKVM的BIN目录,输入ikvmc -target:library jxl.jar (jxl.jar 可以是JAR包所在路径)回车,成功以后看到BIN目录下生成一个jxl.dll的文件。(ikvmc -target:exe jxl.jar 可生成可执行文件)打开VS.NET,将JXL.DLL添加到引用,用对象浏览器查看引用。结果如下图,很神奇把。
如果要将.NET的类库DLL在JAVA中调用,也很方便,不用去搞JNI,在控制台输入ikvmstub mscorlib.dll,完成后可以看到BIN目录下生成了mscorlib.jar,然后引用到我们的LIB中即可。
相关其他功能和实现原理可以参考官方网站。