¿El uso de la opción -classpath
con java
, agrega o reemplaza el contenido de la variable env CLASSPATH
?Java classpath option
Respuesta
Al usar la variable classpath, anula la variable CLASSPATH de Environment pero solo para esa sesión. Si reinicia la aplicación, necesita volver a establecer la variable classpath.
Sí. Citado de la página java(1)
hombre:
-classpath classpath
-cp classpath
Specifies a list of directories, JAR archives, and ZIP archives to search for class files. Class
path entries are separated by colons (:). Specifying -classpath or -cp overrides any setting of the
CLASSPATH environment variable.
If -classpath and -cp are not used and CLASSPATH is not set, the user class path consists of the cur-
rent directory (.).
La variable de entorno * no * se actualiza en absoluto, de acuerdo con esto. No veo cómo la respuesta es "sí". –
@ S.Lott - ¿Desde qué punto de vista? Desde el * punto de vista * del programa, se reemplaza el valor CLASSPATH (si existe). Desde el punto de vista * shell *, el valor CLASSPATH no cambia. Creo que la pregunta original estaba mal redactada. – Nate
Cualquiera de las opciones que se use, no ambos.
Especificar -classpath o -cp anula cualquier configuración de la variable de entorno CLASSPATH.
...
La opción -classpath es preferible porque se puede configurar individualmente para cada aplicación sin afectar a otras aplicaciones y otras aplicaciones sin modificación de su valor.
...
establecer la variable CLASSPATH o utilizando la opción de línea de comandos que -classpath anula por defecto, por lo que si desea incluir el directorio actual en la ruta de búsqueda, debe incluir " " en la nueva configuración
El uso de la opción -cp no afectará a la variable de entorno CLASSPATH.
Puede probar este pequeño fragmento de código para comprobar esto:
public class CPTest {
public static void main (final String[] args) {
String cp = System.getenv("CLASSPATH");
System.out.println(cp);
}
}
%echo $CLASSPATH
/home/test/:.
La salida sin opción -cp:
%java CPTest
/home/test/:.
La salida con la opción -cp:
%java -cp /home/xanadu:. CPTest
/home/test/:.
El resultado es el mismo para ambas invocaciones (una con -cp y otra sin).
también la ruta de acceso especificada en la CLASSPATH variable de medio ambiente es
utilizarse o la ruta especificada con se utiliza -cp opción. No es una mezcla de ambos es uno de ellos.
Esto es evidente en la siguiente invocación. Si la caquexia crónica (directorio de trabajo actual "")
se excluye de la opción -cp, el lanzador JVM (es decir, Java) no puede encontrar el archivo
clase a pesar de la variable de entorno CLASSPATH que contiene la caquexia crónica ("") en eso.
%java -cp /home/test CPTest
Exception in thread "main" java.lang.NoClassDefFoundError: CPTest
- 1. Java classpath - Linux
- 2. Java URL Protocols: classpath: /?
- 3. configurando Java Classpath en Linux?
- 4. Añadiendo .jar's a classpath (Scala)
- 5. Cómo establecer java-classpath para dos directorios?
- 6. Archivo BAT para crear Java CLASSPATH
- 7. Llamada java con comodines en classpath falla
- 8. printf \ t option
- 9. ¿Imprime OSGI bundle classpath?
- 10. Jetty Classpath issues
- 11. Establecer carpeta para classpath
- 12. Limitación Classpath en Linux
- 13. Rails fields_for: child_index option explanation
- 14. belongs_to with: class_name option failed
- 15. CLASSPATH vs java.ext.dirs
- 16. Agregar carpeta a Eclipse classpath
- 17. ¿WEB-INF está en CLASSPATH?
- 18. Configuración de Java Classpath para cargar un archivo de clase
- 19. ¿Buenas prácticas para incluir la configuración XML en Java classpath?
- 20. ¿Es posible "agregar" dinámicamente a classpath en java?
- 21. Agregar una biblioteca a Java CLASSPATH en Ubuntu
- 22. Configuración de classpath para un procedimiento almacenado Java en Oracle
- 23. explorando el classpath de Java en el plugin maven
- 24. Agregar archivos a Java classpath en el tiempo de ejecución
- 25. agregue un jar a maven exec: classpath java
- 26. ¿Cómo ejecutar una clase java con un jar en classpath?
- 27. Java: ¿Cuál de los múltiples recursos en classpath JVM toma?
- 28. Adición de WAR a la classpath de Java
- 29. ¿Cómo establecer un largo classpath de Java en Windows?
- 30. Cargando archivo XML que está en classpath en Java
Buena pregunta. Nunca lo he pensado – marionmaiden
¿Desea saber si la variable de entorno ha cambiado? ¿Ejecutó una prueba para ver * realmente * si cambió? –
¿Por qué no probarlo usted mismo? –