Visual Studio Code, Java-Erweiterung, wie füge ich ein JAR zum Klassenpfad hinzu?

Lesezeit: 9 Minuten

Benutzer-Avatar
gqp21

In der Eclipse-IDE füge ich mithilfe von eine JAR-Bibliothek hinzu

Projekt > Erstellungspfad > Erstellungspfad konfigurieren…

Was ist das Äquivalent in VisualStudioCode?

Ich habe mal reingeschaut launch.json. Es ist ein Klassenpfad definiert. Das Hinzufügen von JARs zu dieser Klassenpfad-(Array-)Variable scheint keine Wirkung zu haben.

Im Wesentlichen ist dies eine doppelte Frage von Visual Studio Java Language Support add jar.
Aber diese Frage ist unbeantwortet.

Dies ist eine so extrem grundlegende Frage, dass ich es wirklich nicht verstehe, in der Microsoft-Dokumentation oder über die Google-Suche keine Lösung dafür zu finden.

  • Visual Studio Code ist ein Texteditor, es ist keine IDE, daher haben Ihre Systemvariablen (wenn Sie Windows verwenden) einen Klassenpfad für Ihre Java- und andere Bibliotheken

    – Schubh

    8. Mai 2018 um 11:33 Uhr

  • Beginnen Sie hier, ich habe es nicht vollständig gelesen, aber Sie können nützliche Informationen finden code.visualstudio.com/docs/java/java-tutorial

    – Victor M. Herasme Perez

    8. Mai 2018 um 11:34 Uhr

  • Dies ist kein Duplikat, da es sich bei der Frage um Visual Studio und nicht um Visual Studio Code handelte

    – C.Champagner

    8. Mai 2018 um 11:34 Uhr

  • Danke für diesen Hinweis. Ich habe versucht, Folgendes zu tun: export CLASSPATH=, dann den Visual Studio-Code mit dieser Umgebungsvariable gestartet, aber die Probleme bleiben dieselben: Build schlägt fehl.

    – gqp21

    8. Mai 2018 um 11:44 Uhr


  • Ich bin mir nicht sicher, ob vscode wirklich für die Java-Entwicklung geeignet ist, aber dies hängt davon ab, welche Erweiterung Sie installieren, um in Java zu entwickeln. Was hast du verbaut??? Außerdem schlage ich Ihnen vor, unabhängig davon, welche Sie gewählt haben, Maven oder Gradle zu verwenden, um Ihre Abhängigkeiten zu verwalten.

    – C.Champagner

    8. Mai 2018 um 11:48 Uhr

Benutzer-Avatar
Hämang

Update für neueste Version

Voraussetzung: In VS Code müssen Sie den Ordner und nicht nur die Datei öffnen, um eine beliebige JAR-Datei zum Kompilieren, Ausführen, Debuggen und Testen einzuschließen

VSCode funktioniert gut mit maven oder gradle, und wenn wir eines davon verwenden, sollten wir maven oder gradle für das Abhängigkeitsmanagement verwenden.

Wenn Sie keine Abhängigkeitsverwaltung verwenden, gibt es zwei Optionen zum Hinzufügen einer JAR-Datei

Möglichkeit 1: Manuell

Öffnen Sie die Datei .vscode/settings.json (falls nicht vorhanden, können Sie eine erstellen) und fügen Sie dort die erforderliche JAR-Datei wie unten gezeigt hinzu. In diesem Fall werden alle im lib-Verzeichnis vorhandenen JAR-Dateien eingeschlossen + ich habe common-logging-1.1.1.jar hinzugefügt, das sich außerhalb des Projektverzeichnisses befindet

{
    "java.project.referencedLibraries": [
        "lib/**/*.jar",
        "c:\\path\\to\\jarfile\\commons-logging-1.1.1.jar"
    ]
}

Option 2: Über die Benutzeroberfläche

Wenn die Java-Erweiterung aktiviert ist, werden im linken Bereich Java-Abhängigkeiten angezeigt. Dort drin kannst du anklicken + Symbol zum Hinzufügen von Kunden-JAR-Dateien. Auch bei dieser Methode wird die settings.json Datei wird aktualisiert

Screenshot zum Hinzufügen einer Java-Abhängigkeit

Alte Antwort als Referenz aufbewahrt …

VSCode funktioniert gut mit Maven oder Gradle. Aber ohne diese haben sie meines Wissens keine direkte Möglichkeit zum Hinzufügen einer JAR-Datei im Klassenpfad bereitgestellt.

Die Problemumgehung besteht darin, den Eintrag in hinzuzufügen .classpath Datei manuell.

Zum Beispiel in der folgenden Datei, die ich hinzugefügt habe common-logging-1.2.jar gelegen in lib Verzeichnis manuell durch Hinzufügen einer Zeile <classpathentry exported="true" kind="lib" path="lib/commons-logging-1.2.jar"/>

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
        <classpathentry kind="src" path="src"/>
        <classpathentry kind="output" path="bin"/>
        <classpathentry exported="true" kind="lib" path="lib/commons-logging-1.2.jar"/>
</classpath>

Aktualisieren

Schließlich arbeitet das VSCode-Team an einer besseren Lösung. Dies ist noch in Arbeit, aber Sie können auf diesen Link verweisen, um einen besseren Ansatz zu erhalten https://github.com/microsoft/vscode-java-pack/issues/94#issuecomment-573487982

Aktualisierung April 2020

Das Update der VSCode-Erweiterung unterstützt diese Funktion jetzt standardmäßig. Jetzt können Sie mit VS Code Java direkt und ohne Build-Tools mit JAR-Dateien arbeiten. Wechseln Sie zur Ansicht JAVA-ABHÄNGIGKEITEN, suchen Sie den Knoten Referenzierte Bibliotheken und klicken Sie auf das Symbol +.

Referenz https://github.com/microsoft/vscode-java-pack/blob/master/release-notes/v0.9.0.md#work-with-jar-files-directly

  • Wenn ich mir Java-Abhängigkeiten ansehe, sehe ich keinen Knoten “Referenzierte Bibliotheken”. Ich sehe nur “JRE System Library”. (Ich verwende 1.44.2 auf macOS 10.15.4)

    – Zach

    28. April 2020 um 15:45 Uhr

  • Ich bekomme etwas Ähnliches – alles, was ich sehe, ist der Knoten “JRE System Library”, zu dem es keine “+”-Schaltfläche gibt, einen “Maven Dependencies”-Knoten, der zwar eine “+”-Schaltfläche hat, mir dann aber nicht erlaubt, ihn zu finden die abhängige JAR-Datei auf meinem Computer. Wie bekommen Sie den Knoten “Referenzierte Bibliotheken” angezeigt?

    – Paul Frith

    29. April 2020 um 9:59 Uhr

  • Wenn Sie Maven verwenden, sollten Sie Maven für das Abhängigkeitsmanagement verwenden. Die obige Lösung ist, wenn Sie Maven oder Gradle nicht verwenden

    – Hämang

    7. Mai 2020 um 12:11 Uhr

  • @Zack Ich hatte das gleiche Problem, konnte den Knoten „Referenzierte Bibliotheken“ für ein Projekt, das ich vor diesem Update erstellt hatte, nicht finden. Die Lösung, die für mich funktioniert hat, war das direkte Öffnen (Datei > Ordner öffnen) des Ordners ‚src‘ des Projekts.

    – zog181

    10. Mai 2020 um 10:58 Uhr


  • Wenn Sie Probleme haben, das Projektmenü anzuzeigen, doppelklicken Sie auf eine Java-Datei (am besten ist es die Datei mit der Hauptmethode darin). Manchmal verschwindet das Projektmenü, nachdem der Arbeitsbereich gelöscht wurde. Wenn Sie sich in Windows befinden, mögen die Classpath-Tools für Java für Vscode keine Pfade mit Leerzeichen darin. Es ist am besten, diese Gläser auf einen Pfad ohne Leerzeichen zu verschieben. Siehe stackoverflow.com/questions/54966653/…

    – Tarson

    21. Oktober 2020 um 14:15 Uhr

Ich weiß, das ist ziemlich alt, aber es ist immer noch weit oben in den Google-Ergebnissen und viele werden es finden. Ich möchte nur die folgende Anleitung zu VSCode empfehlen, die einen kleinen, aber ausreichenden Teil zum Einbinden von Bibliotheken enthält:

https://blog.usejournal.com/visual-studio-code-for-java-the-ultimate-guide-2019-8de7d2b59902

die antwort ist ziemlich einfach:

  1. Fügen Sie die JAR-Datei einem Ordner Ihrer Wahl hinzu, zB einem neuen Verzeichnis “lib” im Projektordner.
  2. füge eine Zeile hinzu wie: <classpathentry kind="lib" path="lib/javaxt-cor.jar"/>zu deinem .classpath.
  3. fertig. Sie können es einfach wie gewohnt importieren.

  • Ich wollte erwähnen, dass, sobald Sie den Prozess „Java-Projekt erstellen“ in Visual Code durchlaufen haben, die .classpath Die Datei wird in Ihrem Projektarbeitsbereich angezeigt.

    – Harperville

    29. März 2020 um 17:12 Uhr

Benutzer-Avatar
BlueMoonWolf

Importieren Sie eine externe JAR-Datei in ein Java-Projekt, jetzt in vscode 1.48.2 funktioniert es gut, folgen Sie der Referenz unten:
https://code.visualstudio.com/docs/java/java-project#_working-with-jar-files

Was ich sagen möchte ist, wenn Ihr externer JAR-Pfad chinesische Schriftzeichen enthält, selbst wenn Sie die JAR-Dateien in das lib-Verzeichnis unter dem Projektstammverzeichnis legen und der Projektpfad chinesische Schriftzeichen enthält, wird beim Debuggen oder Ausführen eine Fehlermeldung wie gemeldet diese:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils

Ich hatte keine Ahnung, ob dieses Problem in anderen Sprachzeichen auftritt. Seien Sie vorsichtig.

Benutzer-Avatar
Abhay

Sie müssen die haben Java-Abhängigkeitsbetrachter Erweiterung installiert, die hilft, die JAR-Dateien zu importieren und sie dem Klassenpfad des Projekts hinzuzufügen ODER fügen Sie die Bibliotheken zu “.classpath” Datei manuell mit <classpathentry kind="lib" path="manual\path\entry\jarfile.jar"/> Tags drin <classpath></classpath> Tags für jede JAR-Datei.

Zunächst sollten Sie wissen, wie Sie ein richtiges Java-„Projekt“ in VS Code erstellen.

Das zu tun:

  1. Habe einen Ordner in VSCode geöffnet
  2. Drücken Sie Strg+Umschalt+P die zu öffnen Befehlspalette
  3. Eintippen Java: Create New Project
  4. Befolgen Sie die Schritte gemäß Ihren Anforderungen und geben Sie den Projektnamen an

Dann: Erweitern Sie die Java-Abhängigkeiten Abschnitt in Ihrem Explorer-Panel erweitern Sie dann Ihren “Projektnamen”.

  1. Wenn Sie mit der Maus über “Referenzierte Bibliotheken“Sie werden sehen, die”+” Zeichen. Klicken Sie darauf.
  2. Es öffnet den Explorer. Wählen Sie damit alle Ihre JAR-Dateien aus und klicken Sie auf “Wählen Sie Jar-Dateien” Taste.

Das ist es!!!!

Das alles können Sie übrigens im Detail unter sehen
https://code.visualstudio.com/docs/java/java-project#_working-with-jar-files hat es eine klare visuelle Darstellung von allem, was damit zusammenhängt.

Viel Spaß beim Codieren!!!

Eine schreckliche Lösung, aber für mich funktioniert es. (Vorausgesetzt, Maven ist installiert).

Suchen Sie Ihr Maven-Repository-Verzeichnis, für mich ist es:

/Users/username/.m2/repository

Erstellen Sie dann den erforderlichen Pfad nach dem Paketnamen. Wenn Sie den Paketnamen nicht kennen, können Sie ihn umbenennen .jar zu einer .zip und den Inhalt extrahieren.

Erstellen Sie auch eine Versionsnummer, wenn Sie keine haben, erfinden Sie eine. Hier ist ein Beispiel für eine Struktur, die ich erstellt habe byte-buddy-agent da das kein Maven-Snippet hat.

Nachdem Sie das getan haben, bearbeiten Sie pom.xml und fügen Sie etwas zwischen den Zeilen hinzu:

<dependency>
  <groupId>net.bytebuddyagent</groupId>
  <artifactId>byte-buddy-agent</artifactId>
  <version>1.9.8</version>
</dependency>

Speichern Sie die Datei, laden Sie die Änderungen neu und Sie sollten bereit sein. In dem Verzeichnis sollte eine Reihe von Dateien erstellt werden.

Geben Sie hier die Bildbeschreibung ein

  • Um eine JAR-Datei in Maven Repo hinzuzufügen, wird empfohlen, zu verwenden mvn install:install-file. Sie können sich darauf beziehen dokumentieren

    – Hämang

    2. Mai 2019 um 10:57 Uhr


Benutzer-Avatar
faulTank

Zum Hinzufügen externer Jar-Dateien ohne Maven oder Gradle muss die .classpath-Datei für die Bibliothek geändert werden. Beispiel

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="lib" path="lib/log4j-1.2.6.jar"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

Aber eine Erweiterung steht in Konflikt mit vscode-java.
https://marketplace.visualstudio.com/items?itemName=georgewfraser.vscode-javac
.Deaktivieren Sie es, wenn Sie es installiert haben, um Fehler zu unterdrücken, wenn Sie nach dem Ändern der .classpath-Datei finden. Sie können dieses Problem überprüfen-
https://github.com/redhat-developer/vscode-java/issues/956

  • Um eine JAR-Datei in Maven Repo hinzuzufügen, wird empfohlen, zu verwenden mvn install:install-file. Sie können sich darauf beziehen dokumentieren

    – Hämang

    2. Mai 2019 um 10:57 Uhr


Benutzer-Avatar
Yunnosch

Es ist doch so einfach:

  1. Projekt erstellen mit java Strg+Umschalt+P
  2. Fügen Sie die JAR-Datei zu Ihrer hinzu .classpath
  3. Fügen Sie oben auf Ihrem Projektpaket hinzu [app]; den Namen Ihres Pakets
  4. Wir sind fertig, vergessen Sie nicht, es zu aktualisieren.

  • Sie hinterlassen ein RIESIGES Loch zwischen Schritt 1 und 2. Bitte überarbeiten, Details hinzufügen

    – Steve

    21. Dezember 2019 um 15:20 Uhr

1014520cookie-checkVisual Studio Code, Java-Erweiterung, wie füge ich ein JAR zum Klassenpfad hinzu?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy