首先,我觉得这是maven 3.0.5和3.1.0的一个bug。我的平台是 windows7 64位,jdk 1.6+
下载solr的源码后,运行mvn install 一直报,java.lang.NoClassDefFoundError,开始一直以为是eclipse的问题,换了n个,都是这样,用命令行编译也是这样。太折磨人了。
最后发现,报错这个类是 org/codehaus/plexus/interpolation/ValueSource ,在repository中也可以找到这个类,但是为什么加载不到呢。详细查看其报错信息,发现,这是
maven-resources-plugin:2.5:resources这个插件报的错误。然后打开这个插件的pom(在repository中可以找到),发现其依赖关系是plexus-interpolation-1.13.jar,而这个jar包里面确实没有这个类。问题的原因找到了。把依赖关系改成 1.19后果然不再出现这个错误了。但这个不是解决的根本办法,这个应该是maven-resources-plugin:2.5:resources这个插件的bug,所以降级这个插件也可以解决。
用一下方式也可以解决,升级 maven-resources-plugin版本 到2.6
<plugin>
<groupId> org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
</plugin>