加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

当我在ScalaIDE中运行代码时,为什么要获取`java.lang.NoClassDef

发布时间:2020-12-16 09:16:07 所属栏目:安全 来源:网络整理
导读:这是一个简单的测试,我用来从 Java调用Scala方法: public static void main(String args[]) { java.util.MapString,java.util.ListString rec = news.recommend.DriverObj.runTest(); System.out.println(rec.toString());} 以下是Scala方法的定义: def ru
这是一个简单的测试,我用来从 Java调用Scala方法:

public static void main(String args[]) {
  java.util.Map<String,java.util.List<String>> rec = news.recommend.DriverObj.runTest();     
  System.out.println(rec.toString());
}

以下是Scala方法的定义:

def runTest: java.util.Map[String,java.util.List[String]] = {
  new java.util.HashMap[String,java.util.List[String]]
}

但它会抛出一个错误:

Exception in thread "main" java.lang.NoClassDefFoundError: scala/Function1
    at news.recommend.DriverObj.runTest(DriverObj.scala)

我该怎么做才能顺利运行?

更新:我通过Eclipse运行它,我的构建路径包含:

那么Scala图书馆应该找到?

解决方法

将Scala依赖关系添加到maven构建可以解决问题:

<dependency>
    <groupId>org.scala-lang</groupId>
    <artifactId>scala-library</artifactId>
    <version>2.10.3</version>
</dependency>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读