Small SQL Jeroen Frijters

What is IKVM.NET?

IKVM.NET is a JVM for Mono and the Microsoft .NET framework.

What do you mean by JVM for .NET?

The goal of IKVM.NET is two-fold:

  • To be able to run any existing Java application ("dynamic mode").
  • To be able to statically compile Java libraries into .NET assemblies ("static mode"). Note that you can also statically compile Java applications, but if the application depends on the exact Java class loading semantics, it might need to be adapted. Dynamic mode supports the full Java class loader model, but in static mode there are necessarily some limitations. A mixed model is also possible, for example, statically compiled code can instantiate a class loader and use it to dynamically load classes.

IKVM.NET consists of several [Components].

Why this project?

There are several answers to this. First of all, it's a fun thing to work on. Second, it just seems obvious that something like this should exist. Third, I want to migrate some of my Java code to .NET and J# and JUMP just aren't good enough.

What's the relation between Mono and this project?

IKVM.NET and Mono are separate projects, but the IKVM.NET binaries are shipped as part of Mono.

How compatible is it?

The goal is to (almost) fully implement the JVM spec and to be compatible with Sun's JDK reference implementation and to provide performance comparable to the HotSpot Client VM. There is a list of currently not implemented packages and a [List_of_compatible_libraries].

Where can I get it?

The official stable release is available from the SourceForge project [Download] page. I also post development snapshots on this blog.

How can I get support?

Take a look on our [Support] page.

How can I [Contribute] to IKVM.NET ?

There are multiple options to [Contribute].

How can I build IKVM from repository?

See here.

How does class loading work?

While IKVM.NET tries hard to make things "just work", Java and .NET class loading are fundamentally different and this can sometimes cause complications that require some extra care. See [ClassLoader] for more information.

I receive a ClassNotFoundException?

See at [ClassNotFoundException] for more information.

Why is my mail to ikvm-developers rejected?

To prevent spam, you need to subscribe to the list first and you are only allowed to post with your subscribed e-mail address. The list is low volume, but if you want you can subscribe without receiving the messages. If you are subscribed and your message does not appear, your message may be too large. Please note that the mailing list is hosted by SourceForge.


Wiki: Building
Wiki: ClassLoader
Wiki: ClassNotFoundException
Wiki: Components
Wiki: Contribute
Wiki: Download
Wiki: Limits
Wiki: List_of_compatible_libraries
Wiki: Main_Page
Wiki: Support

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks