LabVIEWForum.de
Java JAR-Bibliothek in Labview nutzen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: DLL & externer Code (/Forum-DLL-externer-Code)
+---- Thema: Java JAR-Bibliothek in Labview nutzen (/Thread-Java-JAR-Bibliothek-in-Labview-nutzen)



Java JAR-Bibliothek in Labview nutzen - A_Bachmann - 14.05.2014 14:19

Hallo liebe Labviewer,

ich möchte mit Labview Dateien von LibreOffice bearbeiten. Zur Bearbeitung von Dateien im ODF-Format gibt es ja das ODF Toolkit. Dort ist die Nutzung mit der Simple API zum Bearbeiten von ODF-Dateien vorgesehen. Dies liegt nun aber in Form einer Java JAR-Datei vor. Wie kann ich also von Labview aus die Methoden in dieser JAR-Datei ansprechen und nutzen?

Meine bisherigen Recherchen und Experimente in dieser Richtung zeigen mir, dass ich entweder selbst eine Wrapper-DLL in C schreiben muss, die dann direkt per Labview (Knoten zum Aufruf externer Bibliotheken) ansprechbar wäre und meine Anfragen an die Java-Bibliothek weiterreicht. Oder ich soll ein Tool wie IKVM nutzen, um aus der Java-Klasse eine .NET-Klasse zu erstellen, die ich auch wiederum direkt per Labview ansprechen kann. Bei dieser letzten Lösung stoße ich jedoch auf Probleme - scheinbar klappt das Erstellen der .Net-DLL, jedoch sagt mir Labview, dass es keine öffentlichen Konstruktoren finden könne.

Existiert denn kein direkter Weg, wie ich Java-Code in Labview einbinden kann?


RE: Java JAR-Bibliothek in Labview nutzen - rolfk - 15.05.2014 10:12

(14.05.2014 14:19 )A_Bachmann schrieb:  Hallo liebe Labviewer,

ich möchte mit Labview Dateien von LibreOffice bearbeiten. Zur Bearbeitung von Dateien im ODF-Format gibt es ja das ODF Toolkit. Dort ist die Nutzung mit der Simple API zum Bearbeiten von ODF-Dateien vorgesehen. Dies liegt nun aber in Form einer Java JAR-Datei vor. Wie kann ich also von Labview aus die Methoden in dieser JAR-Datei ansprechen und nutzen?

Meine bisherigen Recherchen und Experimente in dieser Richtung zeigen mir, dass ich entweder selbst eine Wrapper-DLL in C schreiben muss, die dann direkt per Labview (Knoten zum Aufruf externer Bibliotheken) ansprechbar wäre und meine Anfragen an die Java-Bibliothek weiterreicht. Oder ich soll ein Tool wie IKVM nutzen, um aus der Java-Klasse eine .NET-Klasse zu erstellen, die ich auch wiederum direkt per Labview ansprechen kann. Bei dieser letzten Lösung stoße ich jedoch auf Probleme - scheinbar klappt das Erstellen der .Net-DLL, jedoch sagt mir Labview, dass es keine öffentlichen Konstruktoren finden könne.

Existiert denn kein direkter Weg, wie ich Java-Code in Labview einbinden kann?

Nein! Java Jar files sind im Prinzip ZIP files in denen die Java Class Files abgelegt sind. Java Class files sind die Bytecode compilierten Java Files und LabVIEW hat keinerlei Möglichkeiten um diese direkt zu laden und anzusprechen. Da muss ein intermediate Layer dazwischen der die Java-Klassen in irgendeiner Form wrapt und in ein durch LabVIEW unterstütztes Interface umsetzt. Und wie Du richtig erkannt hast ist das entweder eine DLL oder eine .Net Assembly. ActiveX wäre auch möglich aber macht hier wenig Sinn.

Kannst Du Deine .Net DLL von C# aus ansprechen??


RE: Java JAR-Bibliothek in Labview nutzen - A_Bachmann - 16.05.2014 14:28

Ok, danke für die Info - also brauche ich wirklich noch eine Zwischenschicht.
Ob ich diese .NET-DLL per C# ansprechen kann habe ich noch nicht getestet. Ich wollte meinen Rechner nicht mit dem riesigen Visual Studio verunstalten...