Skip to content

IKVMCompiler

Mehdi Mohammadi edited this page Dec 29, 2013 · 1 revision

ikvmc.exe is part of IKVM tool-set.

It can translate Java byte-code to .Net IL. It accepts .jar files and produces .Net assemblies. These assemblies use IKVM.GNU.Classpath.dll as implementation of Java libraries, which itself translated with ikvmc.exe.

While ikvmc provides interesting possiblities, There are issues regarding its usage:

  • IKVM.GNU.Classpath.dll assembly size is more than 7 MB. Every distribution should include this assembly.
  • All users/ plugins/ framework instances will also be dependent on Java libraries. For example your users should pass java.io.Reader classes.
  • It's all or nothing. If translated assembly does not works...
  • There is no way to replace dependencies. For example translated assembly may try to find Log4J.
  • Debugging output assembly will only be possible with runtime debugging tools.
  • Resulting assembly may work but adhere to Java conventions for example use CLASSPATH for finding files.

As a complement to IKVM, Janett provides VirtualizationMode which resolves all these issues, except obviously, the first one.

Clone this wiki locally