• 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 FilesJavajdk1.7.0_67 改成C:Program FilesJavajdk1.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%in,但在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:WINDOWSsystem32目录在%JAVA_HOME%in之前。在Windows命令行下执行命令时,先从当前目录搜素,然后按照PATH设置的路径依次查找命令,而JRE安装时会将java.exe安装到C:WINDOWSsystem32目录下,所以执行java -version命令时,查看的是jre的版本,而javac -version时查看的jdk的版本。

    解决方法:
        将%JAVA_HOME%in加在PATH变量的头,执行java -version和javac -version,均为1.5.0_14版。

  • 相关阅读:
    Java io流 之file类(文件和文件夹)
    异常处理
    封装
    面向对象与类
    包与模块的使用
    模块
    递归函数
    迭代器
    装饰器
    函数基础2
  • 原文地址:https://www.cnblogs.com/shanheyongmu/p/5976466.html
Copyright © 2020-2023  润新知