Zastanawiam się, czy można wywołać bibliotekę Java z aplikacji VB.net.Czy możesz korzystać z bibliotek Java w programie VB.net?
(Wyszukiwarka Google włącza się wiele zacienionych odpowiedzi, ale nic ostateczne)
Zastanawiam się, czy można wywołać bibliotekę Java z aplikacji VB.net.Czy możesz korzystać z bibliotek Java w programie VB.net?
(Wyszukiwarka Google włącza się wiele zacienionych odpowiedzi, ale nic ostateczne)
Nie, nie można. Chyba, że są chętni do korzystania z niektórych „J #” biblioteki (co nie jest prawie taka sama jak Java) lub IKVM który jest implementacją Java, który działa na szczycie .NET, ale jak ich dokumentacji mówi:
IKVM. OpenJDK.ClassLibrary.dll: skompilowana wersja bibliotek klasy Java wywodzących się z biblioteki klas OpenJDK z częściami wypełnionymi kodem z GNU Classpath i IcedTea oraz dodatkowym kodem specyficznym dla IKVM.NET.
Więc to nie jest prawdziwa okazja.
Nic po wyjęciu z pudełka.
Większość interakcji java/.net, które znam, korzysta z usług WWW.
Jeśli możesz tworzyć komponenty COM z Javą, możesz użyć tlbimp do utworzenia zespołu współdz. Do użycia w VB.Net.
Jeśli można tworzyć standardowe biblioteki DLL, które mogą być używane z C++ z Javą, można pisać deklaracje P/Invoke i wywoływać je z VB.Net.
Jeśli możesz utworzyć usługę internetową za pomocą Javy, możesz wygenerować klasę proxy z pliku WSDL i wywołać ją z VB.Net.
W każdym przypadku istnieje możliwość, że komponent Java będzie żyć w oddzielnym procesie. Wątpię, aby załadować zarówno maszynę Java VM, jak i CLR w tym samym procesie.
Jeśli masz kod źródłowy i skompilujesz go przy użyciu kompilatora J #, to odpowiedź brzmi tak. Jeśli chcesz wywoływać biblioteki pre-Java 2 (aka 1.2), to są one prawie dosłownie zawarte w J #. Nowsze rzeczy będą jednak trudne (np. Nie ma ich tam).
Przykładem zastosowania komercyjnego są algorytmy układu wykresów yFiles z yWorks. Były one pierwotnie tylko biblioteką Java, ale od kilku lat oferują wersję .NET, która jest po prostu wersją Java skompilowaną z Visual J #.
Nie jest bez problemów i istnieją pewne ograniczenia, których nie można obejść, ale można to zrobić. Więc ... niestety ta odpowiedź wygląda na dość podejrzaną.
Można zadzwonić Java z .NET jeśli zawinąć go w jakiejś formie, aby accessable i najprostszym sposobem jest zazwyczaj użyć mostka Runtime jak
Innym sposobem jest owinąć API z serwisami Java.
check to również http://www.devx.com/interop/Article/19945
można użyć JNI instancji maszyny wirtualnej, a następnie użyć klasy Java. Będzie to jednak dobra zabawa, ponieważ będziesz musiał użyć C++ jako pomostu między VB.Net i Javą.
Ten artykuł w świecie java zawiera krótki samouczek na temat używania języka Java z C++ i viceversa.
http://www.javaworld.com/javaworld/javatips/jw-javatip17.html
Jeśli masz źródła, Visual Studio pozwoli Ci przekonwertować kodu Java do C#.
Jestem autorem jni4net, open source intraprocess bridge między JVM i CLR. Jest zbudowany na JNI i PInvoke. Nie jest wymagany kod C/C++. Mam nadzieję, że ci to pomoże.
+1 dla IKVM używamy go do ładnej komunikacji między naszym interfejsem .NET a serwerem Java za pośrednictwem kodów pośredniczących RMI owiniętych przez zespoły IKVM. – Matt
Rzeczywiście, IKVM wykonuje to zadanie ładnie, o ile komponenty nie są oparte na AWT/Swing. – jsight