Stefan Lecho
Stefan Lecho

Reputation:

How to call Java code from C#?

We've developed a Java application and would like to use this application from a C# client. The application has dependencies on Spring, Log4j, ...

What would be the most efficient mechanism - make DLL(s) from Java code, ... - to achieve this ?

Upvotes: 28

Views: 48737

Answers (4)

Jaye
Jaye

Reputation: 152

There are so many options,

  1. sockets

  2. web services

  3. Message bus

  4. Use a/any database! (sorry if sound silly)

Here's a discussion which may be handy: https://gridwizard.wordpress.com/2015/01/14/java-and-dotnet-interop

Really depends on what you're building!

Upvotes: 2

Pavel Savara
Pavel Savara

Reputation: 3457

I am author of jni4net, open source interprocess bridge between JVM and CLR. It's build on top of JNI and PInvoke. No C/C++ code needed. I hope it will help you.

Upvotes: 15

Omar Kooheji
Omar Kooheji

Reputation: 55760

alternatively you could write a webservice/xmlrpc layer between the two.

I seem to remember that there is a tool calles grassshopper that will compile your .Net code into JVM bytecode.

I've also heard good things about IKVM

Upvotes: 2

MagicKat
MagicKat

Reputation: 9821

IKVM!

It is really awesome. The only problem is that it DOES add ~30MB to the project. log4net and Spring .NET are available as well, but if living with existing code, go the ikvm route.

Upvotes: 31

Related Questions