1

コード:

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

環境変数:

Windows の場合:

JAVA_HOME = C:\Program Files\Java\jdk1.7.0_07
CLASSPATH = .;C:\Program Files\Java\jdk1.7.0_07\lib;C:\Software\scala-2.9.2\lib
PATH = %PATH%;C:\Program Files\Java\jdk1.7.0_07\bin;C:\Software\scala-2.9.2\bin
SCALA_HOME = C:\Software\scala-2.9.2

手順:

scala HelloWorld.scala  //Correctly output Hello,world!
scalac HelloWorld.scala //No Compilation error
java HelloWorld  //Errors shown below

エラー:

Exception in thread "main" java.lang.NoClassDefFoundError: scala/ScalaObject
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at HelloWorld.main(HelloWorld.scala)
Caused by: java.lang.ClassNotFoundException: scala.ScalaObject
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 13 more

初心者の質問で申し訳ありませんが、私は長い間試してみましたが、うまくいきませんでした。

scala -savejarファイルを実行しようとしましたjava -jar; を追加するなどのクラスパスの変更も試みましたがscala-library.jar、まだ機能していません。

4

2 に答える 2

0

これは私にとってはうまくいきます(Linux):

java -cp scala-library-2.9.1.jar:. HelloWorld

scala-library-2.9.1.jarここで見つけることができます

Windows では、CLASSPATH セパレーターとしてセミコロンを使用する必要があります。

java -cp scala-library-2.9.1.jar;. HelloWorld

scala-library-*.jar基本的に、 JAR .classファイルの両方をコードに追加する必要があります。上記の例では、単に現在のディレクトリ内のファイル.を示すために使用されています。.class

于 2012-09-28T16:40:28.960 に答える
0

何百個もあると大変ですよね :(

そうではなく、#JRE#/lib/ext ディレクトリに jar を入れるだけです。

于 2012-10-02T15:26:10.840 に答える