VISA.jar in Projekt einbinden (Library)

BenBu

Mitglied
Hallo zusammen,
Ich habe jetzt bestimmt schon 10 verschiedene Beiträge und Foren durchsucht und versucht einen Weg zu finden eine exterene Library bei Eclipse einzubinden. Bis jetzt hat keiner der Wege funktioniert. wahrscheinlich fehlt etwas Grundlegendes. Darum hoffe ich, dass ihr mir helfen könnt.

Ich möchte die VISA Bibliothek einbinden (VISA git ).

Zu folgenden Themen habe ich jetzt speziell Fragen, da ich wiedersprüchliche Informationen gefunden habe:
1. Wo soll ich welche Datei ablegen?
  • jVisa-2.0.0.jar
  • jVisa-2.0.0-sources.jar
  • jVisa-2.0.0-javadoc.jar
  • JVisa-2.0.0-with-dependencies.jar (soweit ich verstanden habe benötige ich diese nur wenn ich die JNA nicht habe...weiß ich nicht)
2. Der Weg über Preferences -> User Librarys geht nicht, da ich die dateien nicht angezeigt bekomme bzw. diese als nicht kompatibel angezeigt werden.
3. Propertys -> Libraries --> AddExternal JARs scheint auch nicht zu klappen. Es kommt zwar kein Fehler aber ich kann sie nicht importieren.
4. wenn ich die Lib dann importieren muss, wie mache ich das?
INI:
import meineBibliotheken.froud.jvisa.JVisaResourceManager;
?bei "meineBibliotheken" den Ordner in dem die .jar liegt?

Ich habe das gefühl ich habe das irgendwie nicht ganz verstanden. Ich hänge noch einen Ordner an, den es auch auf git gibt. Brauche ich davon auch was?
Danke
 

Anhänge

Beste Antwort
Hier vermute ich, dass Du eine module.info.java in Deinem Projekt hast.

Da wäre die Frage: Willst Du bewusst ein benanntes Modul haben? Wenn Du die Frage nicht mit einem Ja beantworten kannst, dann wäre mit sehr großer Sicherheit der beste Weg, diese Datei einfach zu löschen.

Wenn Du ein entsprechendes Modul haben willst, dann musst Du in der Modulbeschreibung ein requires angeben auf das Modul, das da in dem jar definiert wurde. Das kann man auch alles machen, aber man hat da komplexe Punkte, die man dann verstehen und handhaben muss.
Also da erst einmal ganz von Anfang an:

1. Ablageort: Du kannst die Dateien an einen beliebigen Ort ablegen. In der Regel macht man dies innerhalb des Projektverzeichnisses. Ein Unterordner lib oder so ist recht weit verbreitet.

2. Einbinden in Eclipse - ich gehe hier davon aus, dass Du ein reines Eclipse Projekt hast:
Das funktioniert tatsächlich über Properties und dann in Java Build Path der Reiter Libraries.
Ab Java 9 hast Du da zwei Punkte: Modulepath und Classpath. Wenn Du nicht mit Modulen arbeitest und da ein Modul hinzu fügen willst, dann füg die Library bitte unter Classpath hinzu. Zur Not beides einmal ausprobieren. Und dann fügst Du das jar hinzu per Add JAR.. (wenn es im Projektverzeichnis liegt) oder Add External JARs... (wenn es ausserhalb des Projektverzeichnisses liegt)

3. Richtige jar auswählen: Die eigentliche Abhängigkeit ist entweder jVisa-2.0.0.jar oder jVisa-2.0.0-with-dependencies.jar. Der Unterschied ist, dass Ersteres keine weiteren Abhängigkeiten enthält und letzteres auch alle Abhängigkeiten mit enthält. Wenn Du also die Abhängigkeiten von jVisa nicht manuell hinzufügen willst, dann solltest du das jar mit den Abhängigkeiten nehmen.
Die -sources.jar enthält den Source und das -javadoc.jar enthält die JavaDoc Dokumentation.

4. Einbinden
Der Classloader schaut den ganzen Classpath durch. Daher spielt das Verzeichnis, wo die jar liegt und so keine Rolle mehr! Du kannst also auf die Klasse über den ganzen Namen incl. Package zugreifen. Durch das import kannst Du z.B. ein Package oder eine Klasse angeben, wodurch Du dann auf die Klassen auch ohne die Angabe des Packages zugreifen.
 
Vielen Dank für die schnellen Antworten.
Ich habe das jetzt mal so gemacht, wie oben beschrieben. Muss denn bei Source attachment und jacadoc location etwas hinein?
2024-03-20_13h17_34.png

ZUdem kann ich trozdem nicht auf die Packeges zugreifen.

1710937327150.png
Ich kann zwar, wenn ich "import" eingebe das package als auswahl sehen, doch es wird trotzdem ein Fehler in der import Anzeige angezeigt. (siehe kleiner Screenshot)

Ich habe das Gefühl, dass ich mich echt blöd anstelle...
 
Hier vermute ich, dass Du eine module.info.java in Deinem Projekt hast.

Da wäre die Frage: Willst Du bewusst ein benanntes Modul haben? Wenn Du die Frage nicht mit einem Ja beantworten kannst, dann wäre mit sehr großer Sicherheit der beste Weg, diese Datei einfach zu löschen.

Wenn Du ein entsprechendes Modul haben willst, dann musst Du in der Modulbeschreibung ein requires angeben auf das Modul, das da in dem jar definiert wurde. Das kann man auch alles machen, aber man hat da komplexe Punkte, die man dann verstehen und handhaben muss.
 
Beste Antwort

Zurück
Oben