1186 Stimmen

Einbindung aller Jars in einem Verzeichnis in den Java-Klassenpfad

Gibt es eine Möglichkeit, alle JAR-Dateien innerhalb eines Verzeichnisses in den Klassenpfad aufzunehmen?

Ich versuche java -classpath lib/*.jar:. my.package.Program und es ist nicht in der Lage, Klassendateien zu finden, die in diesen Jars enthalten sind. Muss ich jede Jar-Datei separat zum Klassenpfad hinzufügen?

43voto

Wender Punkte 935

Windows :

 java -cp file.jar;dir/* my.app.ClassName

Linux :

 java -cp file.jar:dir/* my.app.ClassName

Erinnern:
- Windows Pfadseparator ist ;
- Linux Pfadseparator ist :
- Unter Windows, wenn das cp-Argument keine Leerzeichen enthält, sind die "Anführungszeichen" optional

39voto

SANN3 Punkte 8551

Bei mir funktioniert das unter Windows.

java -cp "/lib/*;" sample

Für linux

java -cp "/lib/*:" sample

Ich verwende Java 6

31voto

Navi Punkte 8196

Sie können java ausprobieren -Djava.ext.dirs=jarDirectory http://docs.oracle.com/javase/6/docs/technotes/guides/extensions/spec.html

Verzeichnis für externe Jars beim Ausführen von java

27voto

rvernica Punkte 1172

Richtig :

java -classpath "lib/*:." my.package.Program

Falsch:

java -classpath "lib/a*.jar:." my.package.Program
java -classpath "lib/a*:."     my.package.Program
java -classpath "lib/*.jar:."  my.package.Program
java -classpath  lib/*:.       my.package.Program

11voto

prakash Punkte 136

Wenn Sie Java 6 verwenden, können Sie Wildcards im Klassenpfad verwenden.

Jetzt ist es möglich, Wildcards in der Klassenpfaddefinition zu verwenden:

javac -cp libs/* -verbose -encoding UTF-8 src/mypackage/*.java  -d build/classes

Ref: http://www.rekk.de/bloggy/2008/add-all-jars-in-a-directory-to-classpath-with-java-se-6-using-wildcards/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X