IKVM.NET的是开源的基于.NET CLR 的Java虚拟机。
基于.NET的Java虚拟机意味着我们可以让Java程序跑在.NET上,可以通过虚拟机这个中介让Java程序和.NET应用程序一起协同工作。更难能可贵的是,IKVM同时支持微软的.NET Framework 和 Mono。
IKVM的技术特性包括:
1.可以静态和动态(运行时)把Java的字节代码转换为.NET 的IL形式;
2.包括了一个Java的标准库,这个标准库已经静态编译成了.NET IL的形式;
3.提供力JNI 接口,可以让Java程序通过.NET 或者 Mono 访问本地资源。
4.提供了一个供Java调用.NET 类的Stub。
IKVM现在可以提供对JDK 1.4很好的支持。IKVM目前不成熟的地方在以下几个方面:
1.对AWT和Swing没有提供支持,在IKVM的开发计划中,这项优先级别不高。
2.对Java的安全模型没有实现。
一般来说我们可以在以下3种情况下使用IKVM:
1.直接在IKVM下运行Java程序,比如:ikvm -jar myapp.jar
2.用IKVM来把Java类库转换成.NET类库,比如:ikvmc -target:library mylib.jar ?可以生成: mylib.dll
3.使用ikvmstub 来用Java开发.NET程序。
分享到:
相关推荐
4. DLL生成:IKVM.NET提供了一个工具ikvmc,可以将.jar文件转换为.dll文件。这个过程不仅仅是简单的重打包,还包括了上述的字节码转换和类库映射。 5. 跨平台兼容:虽然IKVM.NET主要是为了在Windows平台上运行Java...
http://weblog.ikvm.net/default.aspx 解压ikvmbin ,并将%IKVM_HOME%\bin添加到path中。此处的%IKVM_HOME%是指解压后ikvm的主目录。 将java的jar包转换为.dll控件 使用的命令:ikvmc -out:XXXX.dll XXXX.jar ...
http://weblog.ikvm.net/default.aspx 解压ikvmbin ,并将%IKVM_HOME%\bin添加到path中。此处的%IKVM_HOME%是指解压后ikvm的主目录。 将java的jar包转换为.dll控件 使用的命令:ikvmc -out:XXXX.dll XXXX.jar ...
IKVM是一种开源项目,全称为“IKVM.NET”,它是一个.NET框架的实现,允许Java应用程序在.NET环境中运行。IKVM的核心功能是将Java字节码转换为.NET中间语言(IL),使得Java类库可以在.NET平台上无缝使用。在这个场景...
IKVM.NET是一个开源项目,它实现了Java虚拟机的部分功能,并且提供了一种方式将Java类库转换为.NET兼容的DLL文件。在这个过程中,IKVM.NET将Java字节码转换为.NET IL(Intermediate Language),使得.NET环境可以...
2. **转换JAR**:使用IKVM的`ikvmc`命令行工具,你可以将JAR包转换为.NET DLL。例如,如果有一个名为`mylibrary.jar`的JAR文件,你可以使用以下命令进行转换: ``` ikvmc -target:library mylibrary.jar ``` 这...
为了解决这个问题,IKVM.NET应运而生。IKVM是一个开源项目,它实现了Java虚拟机(JVM)和Java类库的.NET版本,使得Java代码可以在.NET环境中运行。 标题中的"C# IKVM 生成 java AES 密钥并加解密"是指在C#项目中,...
使用IKVM.NET,你可以将Java的.jar文件转换为.NET的DLL,然后在C#中直接引用和调用。这种方法避免了生成.NET组件的步骤,但可能需要处理类型映射和兼容性问题。 3. **Remoting/Thrift/RPC**: 通过网络通信协议,...
标题“dll.rar_Java生成dll_Java程序转为c#调用时需要的dll包_jdk生成dll”揭示了这个过程的关键步骤,而描述中的“ikvm库”则是实现这一目标的关键工具。 首先,我们需要理解DLL是什么。DLL是Windows操作系统中的...
- Java调用DLL的源码,展示了如何使用JNA或IKVM.NET等工具进行调用。 - 测试代码,用于验证Java成功调用C# DLL并执行预期功能。 要正确使用这些源码,你需要按照以下步骤操作: 1. 编译C#源码生成DLL。 2. 在Java...
IKVM.NET是一个开源项目,由Glenn Block创建,其目的是在.NET平台上实现Java虚拟机,并且提供了一个工具集,包括ikvmc,可以将Java的类库编译为.NET的中间语言(IL),进而生成C#可使用的DLL文件。 1. **IKVM编译...
因此,当我们有一个Java的jar包时,可以通过IKVM.NET的工具将jar包中的.class文件转换为.NET的.dll文件,这样C#就能直接引用并使用这些类和方法了。 接下来,我们来看如何操作。在提供的压缩包文件中,“ikvm-8.1....
在你提供的信息中,“pdfbox 1.2.1 dll .net版本”指的是一个特定的.NET版本的PDFBox库,它是通过Ant(一个Java的构建工具)和IKVM(一个.NET与Java互操作的工具)将原始的PDFBox 1.2.1 Java库转换而来的。...
更重要的是,IKVM提供了将Java库转换为.NET组件(如dll文件)的能力,使Java代码能与.NET环境无缝对接。 以下是使用IKVM将Java jar文件转换为dll库的基本步骤: 1. **安装IKVM**: 首先,你需要下载并安装IKVM工具...
3. **处理依赖**:如果jar文件有依赖的其他jar文件,需要一起转换或者在生成DLL时指定依赖路径。例如,可以使用`-r`参数指定引用的jar文件: ``` ikvmc -target:library -r:dependency1.jar -r:dependency2.jar ...
- 编译并生成DLL,然后在Java代码中加载这个DLL,通过JNI接口调用.NET方法。 总结起来,Java虚拟机与.NET CLR的交互集成涉及多种技术和策略,包括JNI、P/Invoke、COM Interop、Managed Java Bridge、IKVM.NET以及...
- IKVM.NET还包含一个Java标准库的.NET实现,这样C#程序就可以使用诸如`java.lang`、`java.util`等Java标准包中的类。 2. **C#引用JAVA类库**: - 使用IKVM,C#开发者可以通过添加对IKVM的引用,并且指定Java库的...
标题中的“ikvm工具”主要涉及到两个关键操作:一是运行Java应用程序,二是将Java库转换为.NET库。这对于那些希望在.NET生态系统中利用Java库的开发者来说,是一个非常实用的工具。 **运行Java应用程序** Ikvm通过...
在这个文件夹里,IKVM提供了命令行工具“ikvmc”,这是一个编译器,可以将Java类库或应用程序转换为.NET的可执行文件(.exe)或动态链接库(.dll)。这个过程称为“ Ahead-of-Time (AOT) 编译”。用户只需在命令行...
总结,"jar转dll.zip"提供的IKVM工具使得Java开发者能够充分利用.NET的生态系统,同时.NET开发者也能利用丰富的Java库。虽然存在一些限制和挑战,但这个工具为跨平台开发提供了一条实用的路径,大大扩展了开发者的...