编译的时候 中出现以下异常:html
Exception in thread "main" Java.lang.UnsupportedClassVersionError: org/apache/ma
ven/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:14
1)
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)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(Cl
assRealm.java:401)
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(
SelfFirstStrategy.java:42)
at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadCl
ass(ClassRealm.java:271)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm
.java:254)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm
.java:239)
at org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass(Launch
er.java:144)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Laun
cher.java:266)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav
a:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La
uncher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:
356)java
毫无疑问第一就想到JDK版本问题 用的是1.7apache
项目 properties →Java Compiler Installed JREs 选择jdk1.6 windows
修改系统的 C:\Program Files\Java\jdk1.7.0_67 改为C:\Program Files\Java\jdk1.6.0_43服务器
build path 修改jdk。这些修改完以后为什么仍是不行呢。maven
要注意maven 3.30之后是jdk 7 之后,可是我项目或者服务器上又是必需要1.6 怎么办 那么maven就须要降级到3.2.5 用于JDK 1.6 。post
windows→preferences →Maven→Installationsui
还有一个缘由url
注意要把3.3.9版本maven 改过来不少人 直接maven build没注意.net
问题描述:
设置了环境变量JAVA_HOME为jdk1.5.0_14的安装目录,而且在PATH变量中加入了%JAVA_HOME%\bin,但在Windows命令行下,执行java -version却显示:
java version "1.6.0_13"
而执行javac -version显示:
javac 1.5.0_14
缘由分析:
同时安装了jdk1.5.0_14和jre1.6.0_13,且PATH变量中,C:\WINDOWS\system32目录在%JAVA_HOME%\bin以前。在Windows命令行下执行命令时,先从当前目录搜素,而后按照PATH设置的路径依次查找命令,而JRE安装时会将java.exe安装到C:\WINDOWS\system32目录下,因此执行java -version命令时,查看的是jre的版本,而javac -version时查看的jdk的版本。
解决方法: 将%JAVA_HOME%\bin加在PATH变量的头,执行java -version和javac -version,均为1.5.0_14版。