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 sicherlich in diesen jars sind. Muss ich jede jar-Datei einzeln zum Klassenpfad hinzufügen?

Wenn Sie wirklich alle .jar-Dateien dynamisch angeben müssen, können Sie Shell-Skripte oder [Apache Ant][1] verwenden. Es gibt ein Commons-Projekt namens [Commons Launcher][2], mit dem Sie Ihr Startskript im Grunde als Ant-Build-Datei angeben können (wenn Sie verstehen, was ich meine).

Dann können Sie etwas angeben wie:


<path id="base.class.path">
    <pathelement path="${resources.dir}"/>
Kommentare (0)

Sie müssen sie alle einzeln hinzufügen. Alternativ, wenn Sie wirklich nur ein Verzeichnis angeben müssen, können Sie alles in ein Verzeichnis entpacken und dieses zu Ihrem Klassenpfad hinzufügen. Ich empfehle diesen Ansatz jedoch nicht, da Sie bizarre Probleme bei der Versionierung des Klassenpfads und der Unverwaltbarkeit riskieren.

Kommentare (1)

Stellen Sie sich eine jar-Datei als die Wurzel einer Verzeichnisstruktur vor. Ja, Sie müssen sie alle einzeln hinzufügen.

Kommentare (0)