2013-04-23 103 views
1

不應該關閉此問題,因爲在這種情況下建議的答案不會回答問題。嘗試從Java實例化Scala類時出現異常

下面的代碼導致此錯誤:

Exception in thread "main" java.lang.NoClassDefFoundError: scala/ScalaObject 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) 
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
    at scala.java.mixed.test.Driver.main(Driver.java:17) 
Caused by: java.lang.ClassNotFoundException: scala.ScalaObject 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
    ... 13 more 

代碼:

package parallel 

import com.recommendations.EucleudianProperties 

class TestData(var distanceMap : java.util.Map[java.lang.String , java.lang.String]) { 

    object ProcessData{ 
    def apply { 
     println("in apply method "+distanceMap.size) 
    } 
    } 

} 


package scala.java.mixed.test; 

import java.util.HashMap; 
import java.util.Map; 
import parallel.TestData; 

public class Driver { 

    public static void main(String args[]){ 

     Map<String , String> distanceMap = new HashMap<String , String>(); 

     new TestData(distanceMap); 
    } 

} 

是什麼原因造成這個錯誤?我是否正確地調用了java class Driver的Scala類TestData?

編輯:這裏是構建路徑

enter image description here

+2

你有你的類路徑中scala.jar? – Thilo 2013-04-23 10:00:25

+0

@Thilo我在我的classpath – 2013-04-23 10:04:37

+0

上有scala-library.jar,請仔細檢查。它似乎不在類路徑中。 – Thilo 2013-04-23 10:08:55

回答

0

對我來說,問題是斯卡拉 - library.jar不configued在classpath中 的Eclipse運行配置,一旦我說這一點,表現如預期。這裏是我的類路徑更新:

enter image description here

相關問題