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

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

Exception in thread

问题说明:这里肯定是打包出错(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-langgroupId>
      <artifactId>scala-libraryartifactId>
      <version>${scala.version}version>
      <scope>compilescope>
    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

你可能感兴趣的:(scala)