J'ai un projet écrit en Java (> 1.5).Utilisation de classes Java avec C#
Est-il possible d'écrire des parties du projet avec C#?
Par exemple l'interface graphique et l'appel des méthodes et instancier les classes écrites en Java?
Si oui, comment?
J'ai un projet écrit en Java (> 1.5).Utilisation de classes Java avec C#
Est-il possible d'écrire des parties du projet avec C#?
Par exemple l'interface graphique et l'appel des méthodes et instancier les classes écrites en Java?
Si oui, comment?
Il existe quelque chose appelé Java Language Conversion Assistant pour .NET. Vous pouvez convertir vos classes Java en C# et commencer à coder.
Il y a aussi quelque chose qui s'appelle JNBridge (pas gratuit).
Non sans quelque chose comme ikvm - ou en utilisant des services Web, etc. pour communiquer entre les deux parties. Fondamentalement, cela risque d'être beaucoup plus de travail que de réécrire votre code de projet existant en C# ou d'écrire l'interface graphique en Java.
Il semble que ma solution soit très limitée. et ne s'applique qu'à la version spécifique de Java.
Je vais probablement rester avec bon vieux C :) ne peux pas imaginer comment travailler sans bibliothèques partagées :)
Cette document explique comment créer une dll de java et l'utiliser dans le code C. Je ne suis pas C# ou expert Java mais je suis sûr que vous pouvez charger des DLL externes en C#. Donc pas une solution complète mais un bon point de départ, à mon humble avis. Généralement dll c'est un moyen idéal pour mélanger les langues.
Notez que ce document ne s'applique qu'à un JRE particulier, et seulement jusqu'à une version particulière (assez ancienne - 2005). –
Comme je le dis je ne suis pas un expert Java. Cela signifie-t-il que la création de DLL en Java n'est pas triviale? Comment un partage des bibliothèques dans Java? – Ilya
Ilya: les bibliothèques Java sont partagées dans des fichiers JAR. Ce sont essentiellement des archives compressées (zip je crois) qui contiennent les fichiers compilés Java bytecode et autres ressources. – Spoike
de manière simple, vous pouvez emballer vos classes java à jar puis En C# utilisation processus classe pour exécuter et carte flux IO
Je l'ai fait quelques recherches sur ce il y a quelques années (2005 je crois) et j'ai aimé JNBridgePro comme le meilleur produit tiers pour le faire. Vérifiez-le ici http://www.jnbridge.com/
Bonne chance!
Je suis l'auteur de jni4net, pont intraprocessus open source entre JVM et CLR. C'est construit sur JNI et PInvoke. Aucun code C/C++ requis. J'espère que ça t'aidera.
Super travail, merci .. –
Pouvez-vous expliquer pourquoi ce n'est pas possible avec l'approche dll? La réécriture est une option pour la réécriture de petits projets 100 000 lignes par exemple pourraient être coûteuses ... – Ilya
Vous devez exécuter à la fois le CLR et la JVM - et les deux VM ne connaissent pas les objets de l'autre. –
Vous voulez dire, la réponse d'Ilya ne fonctionne pas? – Burkhard