2009-11-04 4 views
63

Kann mir jemand sagen, wie ich dem Klassenpfad unter OSX hinzufügen kann?Hinzufügen zum Klassenpfad unter OSX

+3

Möchten Sie eine einzelne Anwendung, viele Anwendungen für einen einzelnen Benutzer oder viele Anwendungen für alle Benutzer auf der Maschine reparieren? –

+0

javac -cp.:/Home/ec2-benutzer/lib/*: QuickStart.java –

Antwort

85

Wenn Sie eine bestimmte Gruppe von JAR-Dateien (oder .class-Dateien) für jede Java-Anwendung auf dem Computer verfügbar machen möchten, fügen Sie diese Dateien am besten zu /Library/Java/Extensions hinzu.

Oder, wenn Sie es für jede Java-Anwendung tun möchten, aber nur wenn Ihr Mac OS X-Konto sie ausführt, verwenden Sie stattdessen ~/Library/Java/Extensions.

EDIT: Wenn Sie dies nur für eine bestimmte Anwendung tun möchten, wie Thorbjørn gefragt, dann müssen Sie uns mehr über die Verpackung der Anwendung erzählen.

+1

Ich habe meinen Tag gerettet, damit JUnit mit Syntastic Syntax Checker Plugin auf Vim funktioniert. Ich frage mich, warum es im WWW kein anderes einfaches Installationsbeispiel dafür gab ... –

+0

Dies scheint nicht für Intellij IDEA zu funktionieren 13 – qed

+0

Warum MAC nicht -cp/-classpath-Optionen respektiert, sieht so aus, als lade es immer die jars aus/Library/Java/JavaVirtualMachines –

-2

Wenn Ihre Shell tcsh oder csh ist, können Sie sie in/etc/profile setzen. Öffnen Sie das Terminal "vim/etc/profile" und fügen Sie die folgende Zeile:

setenv CLASSPATH (insert your classpath here)

+2

Ist nicht setenv (t) csh syntax? –

+1

Down für die unnötige Verwendung von Sudo gewählt. – wkschwartz

-8

Normalerweise gibt es keine Notwendigkeit dafür. Vor allem

echo $CLASSPATH 

Wenn dort etwas da ist, wollen Sie wahrscheinlich Anwendungen überprüfen -> Utilites -> Java.

+9

Sie meinen, echo $ CLASSPATH –

+1

Fixed it für sie, um die dogpiling von downvotes zu speichern. –

+0

Gibt mir eine leere Zeile zurück? –

34

In OSX können Sie den Classpath von Grund auf neu wie folgt festgelegt:

export CLASSPATH=/path/to/some.jar:/path/to/some/other.jar 

Oder Sie können wie folgt auf die vorhandenen Classpath hinzu:

export CLASSPATH=$CLASSPATH:/path/to/some.jar:/path/to/some/other.jar 

Dies ist Ihre genaue Frage zu beantworten, ich Ich sage nicht, dass es richtig oder falsch ist. Ich überlasse das für andere, um etwas zu kommentieren.

+1

Ich möchte nur mein Glas zum Classpath hinzufügen. Warum gibt es Wege zu zwei Gläsern? – cegprakash

+2

Er zeigt, wie man mehr als 1 Glas hinzufügt. Er impliziert auch, dass das Hinzufügen von nur 1 Jar einfach ': path/to/jar' an den vorhandenen Klassenpfad @cegprakash anfügt –

2

Wenn Sie nur einen Klassenpfad nur für die aktuelle Laufzeit verwenden möchten. Sie können dies erreichen, indem Sie beim Ausführen des Befehls java eine Option für den Klassenpfad hinzufügen.

In Ihrer Befehlszeile. Verwenden Sie java -cp "path/to/your/jar:." main anstatt nur java main

Dadurch, sagt Ihr Befehl, um die Prozessklasse Pfade, wo es für die Bibliotheken suchen.