关于jar包运行报错:Exception in thread “main“ java.lang.UnsupportedClassVersionError的解决办法

打包jar包后 ,在jar路径下cmd使用命令 java -jar  jar包名字

报错:

Exception in thread "main" java.lang.UnsupportedClassVersionError: com/TH/EdupublicAccountApplication has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:151)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:46)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)

解决方法:

在Springboot项目中的pom.xml文件中更改Maven的插件配置,更改如下

<plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.5.7</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.7</version>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.maven.shared</groupId>
                        <artifactId>maven-filtering</artifactId>
                        <version>1.3</version>
                    </dependency>
                </dependencies>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <!--<source>11</source>
                    <target>11</target>-->
<!--                    jar包运行错误后更改-->
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
        </plugins>

本人在Maven插件配置如下图1时,则运行jar包时会报错

<source>11</source>
<target>11</target>

图1        jar包运行错误时Maven插件配置

当Maven插件配置改为下图2时,则运行jar包成功

<source>8</source>
<target>8</target>

本人是个菜鸟,不知道是什么原因导致的错误,经过百度等一些查询都说是JDK版本不一致

欢迎知道原因的大佬留言


版权声明:本文为weixin_47084662原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。