Est-il possible d'appeler des méthodes CLR à partir de JVM? Toute bibliothèque qui hébergerait une instance .NET CLR dans JVM et fournirait un mappage simple pour Java? Y a-t-il des bibliothèques qui feraient cela? Je voudrais écrire un plugin pour une application Java existante qui fonctionne déjà sur JVM. Je voudrais éviter d'avoir deux binaires. Je veux seulement appeler quelques méthodes dans un assembly .NET existant (MSBuild-related Microsoft.Build.Framework. * Stuff).Appeler le code CLR à partir de JVM
2
A
Répondre
1
Nativement, ce n'est pas possible. Les machines virtuelles Java et CLR sont des bêtes très différentes qui ne supportent pas nativement chaque ensemble de codes octets.
Il est cependant possible d'utiliser des bibliothèques tierces pour relier les deux technologies ensemble. Voici quelques-unes (plus disponible via google)
1
Il y a deux façons de le faire. Vous pouvez exécuter Java sur le CLR à l'aide de IKVM. Inversement, vous pouvez embed Mono qui est une implémentation .NET CLR, bien que cela nécessite l'utilisation de C et JNI.
Tout cela suppose que vous pouvez vous conformer aux termes des licences open source.
Je pense que vous pourriez le faire avec COM en quelque sorte. – Gabe
@Gabe, je suis sûr que COM fonctionnerait aussi bien. Les deux .Net et Java supportant l'appel aux objets COM, il pourrait certainement être une technologie de pont. – JaredPar
@Gabe: Je n'ai jamais utilisé COM. Est-ce que l'assembly CLR doit faire quelque chose de spécial pour exposer les interfaces, ou peut-être est-il possible d'appeler des méthodes arbitraires en l'utilisant? – liori