one thing i quite like about scala is that ability to run it in
“interpreted” mode via the scala command. that allows me —
similiar to python or ipython — to experiment and quickly try things
out or even test my classes and objects.
what was a bit of a pain was getting the proper classpath constructed
so that not only target/classes was picked up but also all the
required dependencies. poking a bit around in maven’s plugin
documentation i came across the dependency plugin and in particular
the dependency:build-classpath mojo, armed with that information i
came up with the following rather useful shell script:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#!/bin/bash top=$(pwd) cwd=$(pwd) while [ "$top" != "/" -a ! -e "$top/pom.xml" ] ; do cd .. top=$(pwd) done cd $cwd if [ -e "$top/pom.xml" ] ; then cd $top echo "generating scala classpath based on maven pom.xml" mvn dependency:build-classpath -Dmdep.outputFile=.classpath-scala echo "starting scala" scala -cp target/classes:$(cat .classpath-scala) else echo "cannot find top level pom.xml! must have taken a wrong turn somewhere. sorry." exit 1 fi |
save under a convenient name, stir, and enjoy: call this script instead of calling scala directly.

and as has been pointed out to me, a simple
does the job as well! oh, well…
comment by dirk husemann — January 18, 2010 @ 09:57