¿Cómo puedo obtener el valor actual de CLASSPATH
en Groovy?¿Cómo obtener classpath en Groovy?
Respuesta
Esto no funciona?
System.getProperty('java.class.path')
def classpath = System.properties["java.class.path"]
Desafortunadamente está vacío cuando estoy usando Groovy dentro de [complemento gmaven] (http: //docs.codehaus.org/display/GMAVEN/Executing+Groovy+Code). ¿Es posible obtener classpath del cargador de clase de alguna manera? – yegor256
Obtener el CLASSPATH y archivos si desea en el los CLASSPATH si es necesario se puede ver que
System.getProperty("java.class.path", ".").tokenize(File.pathSeparator).each {
println it
}
Usted debe ser capaz de obtener la ruta de clase del SystemClassLoader, siempre y cuando sea un URLClassLoader:
URL[] classPathUrls = ClassLoader.getSystemClassLoader().getURLs();
Lo mismo: tanto la variable de entorno 'CLASSPATH' como' -classpath' en el comando línea no tiene ningún efecto en esta lista. Al menos en mi caso es idéntica a la que t Veo en la propiedad 'java.class.path'. – osa
Sin embargo, consulte http://groovy.codehaus.org/How+can+I+dynamically+add+a+library+to+the+classpath para agregar dinámicamente una ruta a classpath. this.class.classLoader.rootLoader.addURL (nueva URL ("archivo: /// d: /drivers/ojdbc14.jar")) – osa
java.class.path
no funciona correctamente, por lo menos en Groovy 2.1.6 (Ma c OS X 10.6.8).
HelloWorld.groovy
:
public class HelloWorld {
public static void main(def args) {
System.out.println("Hello, world!\n");
System.out.println(System.getenv("CLASSPATH")+"\n");
System.out.println(System.getProperty("java.class.path"));
}
}
Entonces
export CLASSPATH=/etc
groovy -classpath /usr HelloWorld.groovy
Resultado:
Hello, World!
/etc
/Applications/groovy-2.1.6/lib/groovy-2.1.6.jar
Ahora bien, esto es HelloWorld.java
: (tuve que cambiar un poco como Groovy y Java no son 100% compatible):
public class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello, world!\n");
System.out.println(System.getenv("CLASSPATH")+"\n");
System.out.println(System.getProperty("java.class.path"));
}
}
Ahora:
javac HelloWorld.java
export CLASSPATH=/etc
java -classpath /usr HelloWorld
Resultado:
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
Caused by: java.lang.ClassNotFoundException: HelloWorld
etc. ...................
continuación:
java -classpath /usr:. HelloWorld
Resultado:
Hello, world!
/etc
/usr:.
Voy a actualizar si me entero de cómo hacer que funcione en el maravilloso ...
Shameless robado de http://blog.blindgaenger.net/print_groovys_classpath_for_debugging.html Este código va a subir el árbol cargador de clases y la hoja impresa cada cargador de clases y la ruta de clase asociada.
def printClassPath(classLoader) {
println "$classLoader"
classLoader.getURLs().each {url->
println "- ${url.toString()}"
}
if (classLoader.parent) {
printClassPath(classLoader.parent)
}
}
printClassPath this.class.classLoader
- 1. groovy script classpath
- 2. ¿Paquetes de Jenkins en Groovy Classpath?
- 3. ¿Cómo obtener classpath de classloader?
- 4. Cuando se ejecutan scripts Groovy usando el contenedor groovy-all, ¿cómo se especifica un classpath?
- 5. ¿Cómo modificar classpath en Eclipse?
- 6. ¿Cómo debo configurar CLASSPATH?
- 7. groovy: cómo simplificar/reescribir este método en groovy
- 8. Groovy/Grails: cómo obtener la instancia de clase de String?
- 9. ¿Cómo combinar array en groovy?
- 10. Cómo codificar URL en Groovy?
- 11. __LINE__ función en Groovy
- 12. Limitación Classpath en Linux
- 13. ¿Cómo edito el classpath (runtime) en Eclipse?
- 14. ¿Cómo detectar duplicados JAR en el classpath?
- 15. Cómo agregar recursos a classpath
- 16. ¿Imprime OSGI bundle classpath?
- 17. JSON en Groovy/Grails
- 18. Agregando al classpath en OSX
- 19. Múltiples archivos Log4j.properties en classpath
- 20. Espacios en blanco en CLASSPATH
- 21. Obtener una lista de recursos del directorio classpath
- 22. Cómo establecer java-classpath para dos directorios?
- 23. Interfaces en Groovy
- 24. cómo obtener la versión 4.0 de httpclient fuera de mi classpath en grails
- 25. Cómo obtener más información sobre la aplicación Grails atascada en la configuración de la etapa classpath?
- 26. Fecha y hora en Groovy
- 27. ¿Cómo iterar archivos recursivamente en Groovy?
- 28. ¿cómo puedo usar números aleatorios en Groovy?
- 29. ¿Cómo extraer propiedades de archivos en groovy?
- 30. ¿Cómo sobrecargo el operador in en Groovy?
Es :(vacía es posible conseguir el cargador de clases formulario de ruta de clases? – yegor256
maravilloso parece hacer cosas cobarde, y el java.class.path no contiene la ruta de clase pasado con la opción de línea de comandos de -cp maravilloso. –
Esto no funciona. – osa