- #!/usr/bin/env groovy
- this.class.classLoader.rootLoader.URLs.each{ println it }
The above code takes advantage of the Groovy RootLoader. This RootLoader is often used to dynamically add a library to the Groovy application's classpath, but, as the example here shows, can also be used to see what Groovy sees.
When the above code is executed, the results shown next are seen.
- file:/C:/java/examples/groovyExamples/displayGroovyClasspath/./
- file:/C:/Program%20Files/Java/jre6/lib/ext/QTJava.zip
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/ant-1.7.1.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/ant-junit-1.7.1.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/ant-launcher-1.7.1.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/antlr-2.7.7.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/asm-3.2.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/asm-analysis-3.2.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/asm-commons-3.2.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/asm-tree-3.2.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/asm-util-3.2.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/balloontip_2009-01-2.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/batik-anim-1.7.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/batik-awt-util-1.7.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/batik-bridge-1.7.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/batik-codec-1.7.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/batik-css-1.7.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/batik-dom-1.7.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/batik-ext-1.7.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/batik-extension-1.7.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/batik-gui-util-1.7.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/batik-gvt-1.7.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/batik-parser-1.7.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/batik-script-1.7.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/batik-svg-dom-1.7.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/batik-svggen-1.7.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/batik-swing-1.7.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/batik-transcoder-1.7.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/batik-util-1.7.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/batik-xml-1.7.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/bsf-2.4.0.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/commons-cli-1.2.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/commons-logging-1.1.1.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/cssbuilder-0.3.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/cssparser-0.9.5.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/Filters.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/flamingo-4.0.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/flamingo-4.0dev.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/flamingobuilder-0.2.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/forms-1.2.1.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/fxbuilder-0.2.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/gant-1.9.0_groovy-1.7.0.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/gfxbuilder-core-0.2.3.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/gfxbuilder-svg-0.2.3.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/gfxbuilder-swingx-0.2.3.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/gpars-0.9.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/groovy-1.7.0.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/ivy-2.1.0.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/jacob-1.14.3.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/JFXtras-0.5.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/jide-oss-2.6.2.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/jidebuilder-2.2.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/jline-0.9.94.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/jsilhouette-geom-0.3.1.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/jsp-api-2.0.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/jsr166y-070108.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/junit-4.7.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/l2fprod-common-all.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/macwidgets-0.9.4.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/macwidgetsbuilder-0.2.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/maven-ant-tasks-2.0.10.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/miglayout-3.6.3-swing.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/MultipleGradientPaint.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/netty-3.1.5.GA.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/sac-1.3.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/scriptom-1.6.0.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/scriptom-ie-6-tlb-1.6.0.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/scriptom-office-2K3-tlb-1.6.0.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/scriptom-sapi-tlb-1.6.0.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/scriptom-scripting-tlb-1.6.0.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/scriptom-wbem-tlb-1.6.0.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/scriptom-wsh-tlb-1.6.0.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/servlet-api-2.4.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/spock-core-0.3.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/svg-salamander-1.0.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/swing-worker-1.1.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/swingx-1.0.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/swingx-beaninfo-0.9.5.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/swingx-ws.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/swingxbuilder-0.1.6.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/swingxtrasbuilder-0.1.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/timingframework-1.0.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/trident-1.0.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/tridentbuilder-0.1.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/xml-apis-ext-1.3.04.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/xstream-1.3.1.jar
- file:/C:/Program%20Files/Groovy/Groovy-1.7.0/lib/xswingx-0.2.jar
- file:/C:/Program%20Files/Java/jdk1.6.0_14/lib/tools.jar
The results returned from that simple Groovy script indicate what is already advertised about where Groovy automatically looks for classes and JARs: the current directory, the JRE extension mechanism directory, the Groovy installation's
lib
directory (%GROOVY_HOME%\lib
or ${GROOVY_HOME}/lib
), and the JDK's tools.jar. Had I specified any classes or JARs on the classpath using the -cp option, those would have been displayed here as well.
1 comment:
Nice tip.
Post a Comment