Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/ma ven/cli/Maven/java與javac版本不一致問題


編譯的時候 中出現如下異常:

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)

 毫無疑問第一就想到JDK版本問題 用的是1.7

項目 properties →Java Compiler   Installed JREs 選擇jdk1.6 

修改系統的 C:\Program Files\Java\jdk1.7.0_67 改成C:\Program Files\Java\jdk1.6.0_43

build path 修改jdk。這些修改完之后為何還是不行呢。

要注意maven 3.30以后是jdk 7 以后,但是我項目或者服務器上又是必須要1.6 怎么辦 那么maven就需要降級到3.2.5 用於JDK 1.6 。

windows→preferences →Maven→Installations

 

還有一個原因

注意要把3.3.9版本maven 改過來很多人 直接maven build沒注意

java與javac版本不一致問題

問題描述:
    設置了環境變量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版。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM