Exception in thread "main" java.lang.NoClassDefFoundError: scala/Predef

本文分享了在使用Eclipse配置Scala和Maven项目时遇到的打包错误,并详细记录了解决过程。通过调整依赖管理及正确引入Scala相关jar包,最终成功解决了命令行运行时的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本人用Eclipse 配置了scala和maven的项目,在Eclipse上正常运行,而将其打包后,用命令行运行则出现上述错误。以下是本人的错误:

这里写图片描述

问题说明:这里肯定是打包出错(Eclipse运行没问题),应该是相关依赖没有导入。只需要将scala的相关jar包导入即可

尝试:
1. 用 java -cp xx.jar -jar xx.jar的方式;失败
2. Eclipse 打包的时候 在Source处添加各种jar;失败
3. 按照http://blog.csdn.net/ssrc0604hx/article/details/50927010的方法导入scala的jar包;成功

这里折腾这么久主要是不了解maven的管理方式。maven主要靠groupId和artifactId管理各种插件和依赖。它本质上是到对应的网址上load对应的依赖/插件 jar包

举例:

    <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-library</artifactId>
      <version>${scala.version}</version>
      <scope>compile</scope>
    </dependency>

这里在打包的时候,eclipse会到http://maven.oa.com/nexus/content/groups/public/org/scala-lang/scala-library/ scala.version/scalalibrary {scala.version}.jar 中找对应的jar包下载。同理插件也一样。

所以,我们在写maven的时候,注意要在对应网站上搜索对应的groupId和artifactId。查找方法:对于groupId, Google以下“maven jar包名称 repository”

关于Dependencies:http://blog.csdn.net/bebabyron/article/details/11709717

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值