Using Java API's in .NET Applications
This section discusses information of interest to developers
who want to use Java API's in their .NET applications.
IKVM makes it possible to develop .NET applications that use Java API's. Here's how to proceed:
- IKVM comes with an implementation of the Java class libraries in .NET. To use those API's, simply add
a reference to IKVM.OpenJDK.ClassLibrary.dll to your Mono / .NET IDE project.
- To use other Java API's, you can take one of the following approaches:
- Convert the Java API to .NET CIL using ikvmc.
This produces a .NET dll that you can reference in your project.
- Use the Java reflection API's to dynamically load and execute the Java bytecode using the
IKVM bytecode interpreter.
For example, your application can load Java bytecode over a network connection
and execute it dynamically.
Java / .NET Interoperability Issues
When calling Java API's from a .NET language such as C#, you will need to know
how to deal with the gap between the .NET and Java object models. For example, Java and .NET
both have their own String class, primitive wrapper classes, exception hierarchy, and so on.
Eventually, that information will be included in this manual. For now, you can use the following
- The IKVM WebLog has several
helpful entries. The series from February 29 - March 10 describe the object model.
- The hodgepodge sample in the sample distribution
is a simple demonstration of using Java API's from a C# application.
- The IKVM source code is the ultimate reference, of course.
Subclassing Java Code
See IKVM Weblog Article: March 9