我没有使用Scala的经验,所以这个问题可能是基本的。我试图在Java中使用Scala类,基于本教程中的“Person”示例: http://www.codecommit.com/blog/java/interop-between-java-and-scala
我创建了两个源文件,一个Scala和一个Java,如下所示。
Person.scala:
class Person {
def getName() = "Daniel Spiewak"
}
Test.java:
public class Test {
public static void main(String[] args) {
Person p = new Person();
p.getName();
}
}
我可以编译(带有警告,我不明白),但是当我尝试运行程序时,我得到一个ClassNotFoundException。
$ scalac Person.scala $ javac Test.java ./Person.class:警告:在'ScalaSignature'类型中找不到注释方法'bytes()':找不到scala.reflect.ScalaSignature的类文件 1警告 $ java测试 线程“main”中的异常java.lang.NoClassDefFoundError:scala / ScalaObject at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:787) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:447) 在java.net.URLClassLoader.access $ 100(URLClassLoader.java:71) 在java.net.URLClassLoader $ 1.run(URLClassLoader.java:361) 在java.net.URLClassLoader $ 1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) 在java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 在sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 在Test.main(Test.java:3) 引起:java.lang.ClassNotFoundException:scala.ScalaObject 在java.net.URLClassLoader $ 1.run(URLClassLoader.java:366) 在java.net.URLClassLoader $ 1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) 在java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 在sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) ......还有13个
知道我做错了什么吗?