Utilisez une API de bibliothèque java .jar en C #?

Je suis programmeur débutant, alors soyez descriptif dans vos réponses.

J’essaie d’utiliser une API Java donnée en tant que fichier .jar dans mon application C # .net. Je ne connais pas beaucoup Java, mais ce fichier .jar dit “pas d’atsortingbut manifeste de classe principale” lorsque j’essaie de l’exécuter, cela signifie qu’il s’agit d’une bibliothèque? Cette API Java est également livrée avec un fichier .java qui montre comment utiliser la bibliothèque, mais je ne peux pas voir le code dans le fichier .jar.

J’ai trouvé cette question sur ce site, et l’une des réponses se lit comme suit: “De manière simple, vous pouvez emballer vos classes Java dans jar file, puis In C # utiliser la classe Process pour exécuter et mapper le stream IO.” Je suis un peu familier avec la classe Process en C # mais je ne comprends pas comment je pourrais l’utiliser pour utiliser une bibliothèque Java dans mon projet C # .net.

Est-ce possible? ou cette réponse était-elle incorrecte?

Si oui, pourriez-vous expliquer comment je peux utiliser la bibliothèque .jar dans mon application C #.

Vous pouvez le faire en utilisant IVKM.Net. IVKM.NET inclut une application appelée ikvmc. Voici la documentation de cet outil:

http://www.ikvm.net/userguide/ikvmc.html

Pour l’utiliser, comstackz votre code Java dans un Jar.

Ensuite, lancez le programme ikvmc:

ikvmc myCode.jar

Si votre fichier contient une fonction main (), il sera converti en un exe pouvant être exécuté sur le CLR. Sinon, il sera converti en dll. Pour utiliser les DLL dans votre projet, ajoutez-les simplement comme références dans Visual Studio et la même API disponible pour vous en Java sera accessible dans votre application .Net.

Vous pouvez également inclure la DLL IKVM.GNU.Classpath.dll à partir de ikvmc et utiliser les bibliothèques de classes Java standard dans votre application.

Jetez un oeil à IKVM … il a des outils pour vous donner un certain niveau d’interopérabilité. Lorsque vous dites Java API, je suppose que vous voulez appeler certaines fonctionnalités du fichier JAR plutôt que de simplement l’exécuter.