2009-11-04 12 views
63

¿Alguien puede decirme cómo agregar al classpath en OSX?Agregando al classpath en OSX

+3

¿Desea arreglar una sola aplicación, muchas aplicaciones para un solo usuario o una gran cantidad de aplicaciones para todos los usuarios de la máquina? –

+0

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

Respuesta

85

Si desea hacer que un determinado conjunto de archivos JAR (o archivos .class) esté disponible para cada aplicación Java en la máquina, entonces la mejor opción es agregar esos archivos al /Library/Java/Extensions.

O bien, si desea hacerlo para todas las aplicaciones Java, pero sólo cuando su cuenta Mac OS X los ejecuta, a continuación, utilizar ~/Library/Java/Extensions lugar.

EDIT: Si desea hacer esto solo para una aplicación en particular, como preguntó Thorbjørn, entonces tendrá que decirnos más acerca de cómo se empaqueta la aplicación.

+1

Me salvó el día para hacer que JUnit trabaje en Vim con el plugin de corrector de sintaxis Syntastic. Me pregunto por qué no había ningún otro ejemplo de instalación simple para esto en el www ... –

+0

Parece que esto no funciona para Intellij IDEA 13 – qed

+0

Por qué MAC no respeta las opciones -cp/-classpath, parece que siempre carga los archivos jar desde/Library/Java/JavaVirtualMachines –

-2

Si su shell es tcsh o csh, puede configurarlo en/etc/profile. Abrir el terminal, "vim/etc/profile" y añadir la siguiente línea:

setenv CLASSPATH (insert your classpath here)

+2

¿No es la sintaxis de setenv (t) csh? –

+1

Abajo votaron por el uso innecesario de sudo. – wkschwartz

-8

Normalmente no hay necesidad de eso. En primer lugar

echo $CLASSPATH 

Si hay algo ahí, es probable que desee comprobar Aplicaciones -> Utilites -> Java.

+9

Quiere decir echo $ CLASSPATH –

+1

Se lo arregló para ellos, para guardar el dogpiling de downvotes. –

+0

¿Me devuelve una fila vacía? –

34

En OS X, puede establecer la ruta de clases desde cero como esto:

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

o se puede añadir a la ruta de clases existente como esto:

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

Esta es responder a su pregunta exacta, me No estoy diciendo que sea lo correcto o incorrecto; Dejaré eso para que otros comenten.

+1

Solo quiero agregar mi jar a classpath. ¿Por qué hay caminos para dos jarras? – cegprakash

+2

Él muestra cómo agregar más de 1 jar. También implica que agregar solo 1 jar es simplemente agregar ': path/to/jar' al classpath existente @cegprakash –

2

Si solo desea utilizar una ruta de clase solo para el tiempo de ejecución actual. Puede lograrlo agregando una opción de ruta de clase cuando ejecuta el comando java.

En su línea de comandos. Utilice java -cp "path/to/your/jar:." main en lugar de sólo java main

Al hacerlo, su orden le dice a los caminos de clase proceso en el que se puede buscar bibliotecas.

Cuestiones relacionadas