我的错误现象 maven compile过程报的错!
1网上找到别人的解决办法,我先看了看后来参考了一句话:
刚下载一个开源项目源码,用maven编译发现报错:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce (enforce-versions) on project spark-parent_2.11: Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed. -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
根据报错提示信息得出是enforce插件检测规则失败,并且这里提供了一个官方解决连接,进入看看MojoExecutionException解释:
说明这个不是maven本身报错,而是它的插件报错了,并且告诉我们要去看一下插件的文档,提供了maven插件文档的链接,进入plugin index找到enforce插件,先看看这个插件是干什么的:
这里的对enforcer的解释是,这是做环境约束检查用,到pom.xml中找到对应的enforce插件:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>1.4.1</version> <executions> <execution> <id>enforce-versions</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireMavenVersion> <version>${maven.version}</version> </requireMavenVersion> <requireJavaVersion> <version>${java.version}</version> </requireJavaVersion> <bannedDependencies> <excludes> <!-- Akka depends on io.netty:netty, which puts classes under the org.jboss.netty package. This conflicts with the classes in org.jboss.netty:netty artifact, so we have to ban that artifact here. In Netty 4.x, the classes are under the io.netty package, so it's fine for us to depend on both io.netty:netty and io.netty:netty-all. --> <exclude>org.jboss.netty</exclude> <exclude>org.codehaus.groovy</exclude> </excludes> <searchTransitive>true</searchTransitive> </bannedDependencies> </rules> </configuration> </execution> </executions> </plugin>
这里对java.version和maven.version做了约束,把配置改成本地对应的版本号即可。
——————————————————————————————
我的解决办法:
通过以上判断
这句话翻译过来就是:这个异常不是maven环境自己的核心功能出问题,而是一个插件出问题:
那么 好办了既然不是maven核心功能,我暂时也用不到我就屏蔽它!
在相关模块的pom.xml文件里找到这个插件的配置然后注释掉它
再次执行 maven complie编译后就全部通过了,因为我屏蔽了出问题的插件,我不用它自然就过了