webentwicklung-frage-antwort-db.com.de

Legen Sie den Ordner für den Klassenpfad fest

Wie setze ich in der Befehlszeile die Option Java CLASSPATH, um auf ein oder mehrere Verzeichnisse mit mehreren JAR-Dateien zu verweisen? Gibt es Platzhalter für die Unterstützung von rekursiven Verzeichnissen und Unterverzeichnissen?

(Meine JAR-Dateien sind in mehreren Unterverzeichnissen sortiert.)

44
Sam

Wenn Sie Java 6 oder höher verwenden, können Sie Platzhalter dieser Form verwenden:

Java -classpath ".;c:\mylibs\*;c:\extlibs\*" MyApp

Wenn Sie alle Unterverzeichnisse hinzufügen möchten: lib\a \, lib\b \, lib\c \, gibt es hierfür keinen Mechanismus außer:

Java -classpath ".;c:\lib\a\*;c:\lib\b\*;c:\lib\c\*" MyApp

Es gibt nichts Vergleichbares lib\*\* oder lib\** Platzhalter für die Art von Arbeit, die Sie erledigen möchten.

62
msi

Verwenden Sie den Befehl als

Java -classpath ".;C:\MyLibs\a\*;D:\MyLibs\b\*" <your-class-name>

Der obige Befehl setzt die genannten Pfade nur einmal auf classpath, um die Klasse TestClass auszuführen.

Wenn Sie mehr als eine Klasse ausführen möchten, können Sie dies befolgen

set classpath=".;C:\MyLibs\a\*;D:\MyLibs\b\*"

Danach können Sie so viele Klassen ausführen, wie Sie möchten, indem Sie einfach tippen

Java <your-class-name>

Der obige Befehl funktioniert, bis Sie den Befehl Eingabeaufforderung schließen. Wenn Sie jedoch nach dem Schließen der Eingabeaufforderung die Eingabeaufforderung erneut öffnen und versuchen, einige Klassen auszuführen, müssen Sie den Klassenpfad mithilfe einer der beiden oben genannten Methoden erneut festlegen (erste Methode zum Ausführen einer Klasse und zweite) eine für die Ausführung von mehr Klassen)

Wenn Sie das classpth nur einmal festlegen möchten, damit es immer funktioniert, gehen Sie wie folgt vor

1. Right click on "My Computer" icon
2. Go to the "properties"
3. Go to the "Advanced System Settings" or "Advance Settings"
4. Go to the "Environment Variable"
5. Create a new variable at the user variable by giving the information as below
    a.  Variable Name-     classpath
    b.  Variable Value-    .;C:\program files\jdk 1.6.0\bin;C:\MyLibs\a\';C:\MyLibs\b\*
6.Apply this and you are done.

Denken Sie daran, dies wird jedes Mal funktionieren. Sie müssen den Klassenpfad nicht immer wieder explizit festlegen.

HINWEIS: Wenn Sie nach einem Tag weitere Bibliotheken hinzufügen möchten, vergessen Sie nicht, ein Semikolon am Ende des "Variablenwertes" der "Umgebungsvariablen" einzufügen, und geben Sie dann den Pfad Ihrer neuen Bibliotheken ein nach dem Semikolon. Weil das Semikolon die Pfade verschiedener Verzeichnisse trennt.

Hoffe das wird dir helfen.

6
Chandra Sekhar