Wie sollte ich das set CLASSPATH?
Habe ich dieses vor:
CLASSPATH=".:/home/phoenies/jdk1.6.0_17/lib/tools.jar:/home/phoenies/jdk1.6.0_17/lib/dt.jar"
Aber heute einen Artikel sagt, ich sollte dies tun:
CLASSPATH=".:/home/phoenies/jdk1.6.0_17/lib"
Wenn ich so tun, wird es suchen Sie alle jar-Dateien im lib? Daher ist es vielleicht einen kürzeren Weg?
- stackoverflow.com/a/51112747/9573840 Dies ist der bequemste Weg, um die classpath
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da Sie mit JDK6, können Sie die classpath-wildcards: CLASSPATH=".:/home/phoenies/jdk1.6.0_17/lib/*" passt auf alle GLÄSER von innen lib/
Check-out http://java.sun.com/javase/6/docs/technotes/tools/windows/classpath.html es gibt einen Abschnitt namens "Verständnis" class path "wildcards"
Denke ich, dass Sie eine CLASSPATH-Umgebungsvariable ist falsch, für alle, aber die einfachste "Hello, World" - tutorials.
Der richtige Weg ist, um den KLASSENPFAD für jedes Projekt, wenn Sie kompilieren und ausführen. Jedes Projekt wird wahrscheinlich unterschiedlich sein, so macht dies absolut Sinn.
IDEs ignorieren Sie die CLASSPATH-environment-Einstellungen, so dass Sie alle Java-EE-app-Server. Es ist ein Relikt aus Java 1.0. Ich habe keine CLASSPATH-Satz auf jeder Maschine, die ich arbeite.
Lernen-script für die Kommandozeile. Oder verwenden Ant. Sie werden froh, Sie haben.
Ja, es wird eine Suche für alle jar-Dateien im lib wenn Sie sich für die zweite Möglichkeit. Es ist ziemlich merkwürdig, zu sehen, class-path gesetzt, so konkret wie in der ersten. Ich nehme an, auf einem server, wo Sie wollte, um sicher zu sein, was die Gläser wurden geladen, das könnte ein Weg sein, Sie zu beschränken, aber vielleicht laufen in Probleme mit, wie lange es sein kann, wenn Sie hatte mehrere Gläser.
Jar-Dateien angegeben werden müssen name in der Classpath-variable. Eine Sache zu beachten ist, dass die commandline
-classpath
param ist vielseitiger als die environment-variable, da es Ihnen erlaubt, ein set classpath pro Anwendung.In Java 1.6+ Sie können den classpath auf ein Verzeichnis, gefolgt von /* laden Sie alle JAR-Dateien in diesem Verzeichnis. Nicht nur der name des Verzeichnisses, obwohl - das ist für das laden von class-Dateien in diesem Verzeichnis und in den Unterverzeichnissen.