When executing a goal with a Maven project, GMaven can provide access to the classpath of the project for a particular scope. This is controlled by the classpathScope parameter.
For example, to execute a script and include the runtime scope dependencencies on the classpath:
<plugin> <groupId>org.codehaus.gmaven</groupId> <artifactId>groovy-maven-plugin</artifactId> <executions> <execution> <phase>process-classes</phase> <goals> <goal>execute</goal> </goals> <configuration> <classpathScope>runtime</classpathScope> <source> // this script has access to the compiled classes and all depencencies of scope=runtime. </source> </configuration> </execution> </executions> </plugin>
By default classpathScope is set to none which means that no additional classpath elements will be available.
When executing a goal directly without a project, the scope may be configured by setting the scope property:
mvn groovy:shell -Dscope=test
For all supported values and additional documentation see ClasspathScope.
Any additional classpath which may be needed can also be configured on the plugin definition:
<plugin> <groupId>org.codehaus.gmaven</groupId> <artifactId>groovy-maven-plugin</artifactId> <dependencies> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency> </dependencies> </plugin>