您的位置:首页 > 编程语言 > Java开发

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

2016-07-07 21:40 405 查看
本人用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/scala−library−{scala.version}.jar 中找对应的jar包下载。同理插件也一样。

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

关于Dependencies:http://blog.csdn.net/bebabyron/article/details/11709717
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  scala