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:
while [ "$top" != "/" -a ! -e "$top/pom.xml" ] ; do
if [ -e "$top/pom.xml" ] ; then
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)
echo "cannot find top level pom.xml! must have taken a wrong turn somewhere. sorry."
save under a convenient name, stir, and enjoy: call this script instead of calling scala directly.