Me pregunto si se puede llamar a una biblioteca Java desde una aplicación VB.net.¿Puedes usar bibliotecas Java en un programa VB.net?
(Una búsqueda en Google convierte a un montón de respuestas de sombra, pero nada definitivo)
Me pregunto si se puede llamar a una biblioteca Java desde una aplicación VB.net.¿Puedes usar bibliotecas Java en un programa VB.net?
(Una búsqueda en Google convierte a un montón de respuestas de sombra, pero nada definitivo)
No, no se puede. A menos que usted está dispuesto a utilizar algunos "J #" bibliotecas (que no es casi el mismo que el de Java) o IKVM que es una aplicación Java que se ejecuta en la parte superior de .NET, pero como su documentación dice:
IKVM. OpenJDK.ClassLibrary.dll: versión compilada de las bibliotecas de clases de Java derivadas de la biblioteca de clases OpenJDK con algunas partes rellenas con código de GNU Classpath e IcedTea, más algún código específico adicional de IKVM.NET.
Así que no es el verdadero negocio.
Nada fuera de la caja.
La mayor parte de la interoperabilidad de java/.net que conozco utiliza los servicios web.
Si puede crear componentes COM con Java, puede usar tlbimp para crear un conjunto de interoperabilidad para usar en VB.Net.
Si puede crear archivos DLL estándar que se pueden usar desde C++ con Java, puede escribir declaraciones de P/Invocar y llamarlos desde VB.Net.
Si puede crear un servicio web con Java, puede generar una clase de proxy desde el WSDL y llamarlo desde VB.Net.
En cualquier caso, es probable que el componente de Java viva en un proceso separado. Dudo que pueda cargar tanto la VM Java como la CLR en el mismo proceso.
Si tiene el código fuente y lo compila con el compilador J #, entonces la respuesta es sí. Si desea llamar a cualquier biblioteca pre-Java 2 (aka 1.2), entonces estas se incluyen más o menos al pie de la letra con J #. Sin embargo, las cosas más recientes van a ser difíciles (es decir, no están allí).
Un ejemplo donde esto se usa comercialmente son los algoritmos de diseño de gráfico yFiles de yWorks. Originalmente eran solo una biblioteca de Java, pero en los últimos años han estado ofreciendo una versión de .NET, que es solo la versión de Java compilada con Visual J #.
No es sin problemas, y hay algunas limitaciones que no se pueden evitar, pero se puede hacer. Entonces ... desafortunadamente esta respuesta parece bastante turbia también.
Puede llamar a Java desde .NET si lo envuelve en alguna forma para que sea accesible y la forma más fácil es típicamente de utilizar un puente en tiempo de ejecución como
otra forma es para envolver la API con servicios web de Java.
cheque esto también http://www.devx.com/interop/Article/19945
Usted podría utilizar JNI para crear instancias de una máquina virtual y luego utilizar clases de Java. Sin embargo, será algo divertido, porque necesitaría usar C++ como un puente entre VB.Net y Java.
Este artículo en java world tiene un tutorial rápido sobre cómo usar Java desde C++ y viceversa.
http://www.javaworld.com/javaworld/javatips/jw-javatip17.html
Si usted tiene la fuente, Visual Studio le permitirá convertir código Java en C#.
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.
+1 para IKVM lo usamos para comunicar bien entre nuestra .NET UI y el servidor Java a través de los resguardos RMI envueltos por los ensamblajes IKVM. – Matt
De hecho, IKVM hace el trabajo bien siempre que los componentes no estén basados en AWT/Swing. – jsight