Other names | IKVM.NET |
---|---|
Original author(s) | Jeroen Frijters |
Developer(s) | Windward Studios, Jerome Haltom |
Stable release | |
Repository | |
Written in | Java andC# |
Operating system | Cross-platform |
Type | Java virtual machine,Java bytecodecompiler and JavaLibrary |
License | zlib License |
Website | ikvm![]() |
IKVM (formerlyIKVM.NET) is an implementation ofJava forCommon Language Infrastructure implementations such asMono and theMicrosoft.NET Framework. IKVM isfree software, distributed under thezlibpermissive free software license.[2]
Work started on IKVM early in 2000 to assist migration of a Java-based reporting package from Sumatra to Microsoft .NET. The original developer, Jeroen Frijters, discontinued work on IKVM in 2015.[3] In 2018,Windward Studios forked IKVM.NET to continue development on the open-sourced IKVM.[4] In 2022 Jerome Haltom and others picked up the work on a newGitHub organization and finished.NET Core support.[5]
IKVM includes the following components:
IKVM can run compiled Java code (bytecode) directly on Microsoft .NET or Mono. The bytecode is converted on the fly toCIL and executed.
By contrastJ# is a Java syntax on the .NET framework, whereas IKVM is effectively a Java framework running on top of the .NET framework.
Jeroen Frijters was the main contributor to IKVM. He is Technical Director of Sumatra Software, based in the Netherlands.[6]
The "IKVM" portion of the name is a play on "JVM" in which the author "just took the two letters adjacent to the J".[7]
IKVM 8 implementsJava 8.
The IKVM organization also maintains IKVM.Maven.Sdk,[8] an extension to the .NET PackageReference system that allows direct references to and transpiling of Maven artifacts. IKVM.Maven.Sdk is also available on NuGet.org.[9]