tags:

views:

136

answers:

2

I'm trying to run the following rocket launching application:

object HelloWorld {
    def main(args: Array[String]) {
        println("Hello World!")
    }
}

directly from java like this:

java -cp scala-library.jar HelloWorld

(obviously after compliling with scala)

but get the following error:

Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
Caused by: java.lang.ClassNotFoundException: HelloWorld
        at java.net.URLClassLoader$1.run(Unknown Source)
(...)
Could not find the main class: HelloWorld.  Program will exit.

Have I overseen anything trivial that I need to do to make it work?

+8  A: 

From the Java documentation:

The default class path is the current directory. Setting the CLASSPATH variable or using the -classpath command-line option overrides that default, so if you want to include the current directory in the search path, you must include "." in the new settings.

Adding .: (or .; on Windows) to the beginning of your classpath should work.

Travis Brown
Thank you, I was certain it was something trivial. :)
Knut Arne Vedaa
A: 

Please try:

java -cp %SCALA_HOME%\lib\scala-library.jar;. HelloWorld