Tengo un proyecto escrito en Java (> 1.5).Uso de Java-classes con C#
¿Es posible escribir partes del proyecto con C#?
Por ejemplo, la GUI y llamar a los métodos y crear una instancia de las clases escritas en Java?
En caso afirmativo, ¿cómo?
Tengo un proyecto escrito en Java (> 1.5).Uso de Java-classes con C#
¿Es posible escribir partes del proyecto con C#?
Por ejemplo, la GUI y llamar a los métodos y crear una instancia de las clases escritas en Java?
En caso afirmativo, ¿cómo?
Hay algo llamado Java Language Conversion Assistant para .NET. Puede convertir sus clases de Java a C# e iniciar la codificación.
También hay algo llamado JNBridge (no gratis).
No sin algo como ikvm - o utilizando servicios web, etc. para comunicarse entre las dos partes. Básicamente, es probable que sea mucho más trabajo que reescribir el código de proyecto existente en C# o escribir la GUI en Java.
Parece que mi solución es muy limitada. y aplicar solo a la versión específica de java.
probablemente quede con buena vieja C :) No puedo imaginar cómo trabajar sin bibliotecas compartidas :)
Este document explican cómo crear un archivo DLL de Java y usarlo en el código C. No soy C# ni experto en Java, pero estoy seguro de que también puedes cargar archivos dll externos en C#. Así que no es una solución completa, pero es un buen punto de partida, en mi humilde opinión. Generalmente dll es una manera perfecta de mezclar idiomas.
Tenga en cuenta que ese documento solo se aplica a un JRE en particular, y solo hasta una versión particular (bastante antigua - 2005). –
Como menciono que no soy un experto en Java. ¿Significa eso que crear dll en java no es trivial? ¿Cómo se comparten bibliotecas en java? – Ilya
Ilya: las bibliotecas Java se comparten en archivos JAR. En esencia, son archivos comprimidos (zip, creo) que contienen los archivos compilados bytecode de Java y otros recursos. – Spoike
En forma sencilla se puede empacar sus clases Java a archivo jar entonces En C# usar Proceso clase para ejecutar y mapear IO corriente
que hice algunas investigaciones sobre esto hace unos años (2005 creo) y me gustó JNBridgePro como el mejor producto de terceros para hacer esto. Échale un vistazo aquí http://www.jnbridge.com/
¡Buena suerte!
Soy el autor de jni4net, puente de intraproceso de código abierto entre JVM y CLR. Se basa en JNI y PInvoke. No se necesita código C/C++. Espero que te ayude.
Impresionante trabajo, gracias .. –
¿Puede explicar por qué no es posible con el enfoque dll? La reescritura es una opción para la reescritura de proyectos pequeños. Por ejemplo, 100.000 líneas pueden ser costosas ... – Ilya
Debería estar ejecutando tanto el CLR como la JVM, y las dos máquinas virtuales no conocen los objetos de los demás. –
¿Quieres decir que la respuesta de Ilya no está funcionando? – Burkhard