今天帮新同事运行Maven打包,由于长时间没有使用Eclipse了,我最近一直使用IDEA进行开发。居然发现jdk1.6运行Maven报错...,没错,就是报错了。但我深知Maven3.3+必须运行jdk1.7版本。所以我让他使用Maven3.2.5版本。
然而使用Maven build 是居然报错:
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
我反复查了下Maven安装版本和jdk版本,最终发现Run Configuration的配置有个Maven版本选择
居然还是选择了3.3+,修改后终于可以再成功编译了。
得出结论是Eclipse在实际build的时候,还有一次选择Maven版本和JDK版本的机会。尽管在Configuration里面设置了默认的Maven版本。相当的灵活!!!