【发布时间】:2011-12-08 13:18:18
【问题描述】:
背景:我是一名 C# 开发人员,但我的下一个项目需要在 JVM 上。我研究过 Scala,我认为它可以让我在 C# 中尽我所能(Lambdas、推断类型、函数式样式等)。我会将自己归类为一个非常新手的 Java 开发人员......尤其是在使用 IDE 等方面。
我有一个似乎可以运行的 Scala 项目... 我做了一个Java项目并引用了Scala项目 编辑器似乎知道 Scala 项目中的类(提前输入等)
当我尝试运行 Java 项目时,我收到此错误:
Exception in thread "main" java.lang.NoClassDefFoundError: scala/ScalaObject
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
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$000(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 learning_scala.java.Main.main(Main.java:12)
Caused by: java.lang.ClassNotFoundException: scala.ScalaObject
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)
很明显,Java/Scala 编译出了问题,但我不知道如何解决(我缺乏 Java 经验是这里的主要罪魁祸首)
我正在使用带有官方 Scala 插件的 Eclipse...所有这些在 2-3 天前都是最新的。
谢谢
【问题讨论】:
-
这意味着 Eclipse 没有加载 Scala 库 (scala-library.jar)。我不知道如何在 Eclipse 中解决这个问题;在命令行上,将 jar 添加到类路径:
-cp /path/to/scala/lib/scala-library.jar。希望 Eclipse 用户可以提供帮助。附言在 lambda、推断类型等方面,Scala 可以比 C# 做得更多——我希望回去不会太难! -
Scala 是我一直有兴趣学习的第一个基于 JVM 的语言。部分原因还在于强迫自己学习新的东西...... C# 和 C++ 在 10 年后对我来说非常熟悉,我需要挑战自己去做一些新的事情。
标签: java eclipse scala classpath scala-ide