Spring boot starts an error-reporting Unsupported major.minor version 52.0

Keywords: Java Spring Maven snapshot

Spring boot starts an error-reporting Unsupported major.minor version 52.0

  • Problem description
    Start error reporting when creating spring boot hello world project, Unsupported major.minor version 52.0.
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/yf/springboot/Application : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

  • Engineering description
    The pom file is as follows:
<?xml version="1.0" encoding="UTF-8"?>  
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
    <modelVersion>4.0.0</modelVersion>  
    <groupId>com.yf.springboot</groupId>  
    <artifactId>spring-boot-hello</artifactId>  
    <version>0.0.1-SNAPSHOT</version>  
    <!-- Inherit defaults from Spring Boot -->  
    <parent>  
        <groupId>org.springframework.boot</groupId>  
        <artifactId>spring-boot-starter-parent</artifactId>  
       <!--  <version>1.4.0.BUILD-SNAPSHOT</version> -->
        <version>1.4.1.RELEASE</version>
    </parent>  
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java-version>1.7</java-version>
    </properties>

    <!-- Add typical dependencies for a web application -->  
    <dependencies>  

        <dependency>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-web</artifactId>  
            <!-- Unwanted version Will be based on parent Version added-->
        </dependency> 
        <!-- Add to fastjson -->
         <dependency>  
            <groupId>com.alibaba</groupId>  
            <artifactId>fastjson</artifactId>  
            <version>1.2.15</version>
        </dependency> 

    </dependencies>  

    <!-- Package as an executable jar -->  
    <build>  

           <!-- 
           <plugins>  
            <plugin>  
                <groupId>org.springframework.boot</groupId>  
                <artifactId>spring-boot-maven-plugin</artifactId>  
            </plugin>  
             </plugins>  
             -->  
        <!-- Add here springLoader plugin Realize hot plug development 1, spring-boot:run
            2,run as -java application
            run-config  vm  -javaagent:.\lib\springloaded-1.2.3.RELEASE.jar -noverify
         -->
             <plugins>
            <plugin>  
                <groupId>org.springframework.boot</groupId>  
                <artifactId>spring-boot-maven-plugin</artifactId>  
                <dependencies>
                    <dependency>
                        <groupId>org.springframework</groupId>
                        <artifactId>springloaded</artifactId>
                        <version>1.2.3.RELEASE</version>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>

                </executions>
                <configuration>
                    <classifier>exec</classifier>
                </configuration>
            </plugin>  
        </plugins>  
    </build>  

    <!-- Add Spring repositories -->  
    <!-- (you don't need this if you are using a .RELEASE version) -->  
    <!-- <repositories>  
        <repository>  
            <id>spring-snapshots</id>  
            <url>http://repo.spring.io/snapshot</url>  
            <snapshots><enabled>true</enabled></snapshots>  
        </repository>  
        <repository>  
            <id>spring-milestones</id>  
            <url>http://repo.spring.io/milestone</url>  
        </repository>  
    </repositories>  
    <pluginRepositories>  
        <pluginRepository>  
            <id>spring-snapshots</id>  
            <url>http://repo.spring.io/snapshot</url>  
        </pluginRepository>  
        <pluginRepository>  
            <id>spring-milestones</id>  
            <url>http://repo.spring.io/milestone</url>  
        </pluginRepository>  
    </pluginRepositories>   -->
</project>  

Finally, according to the error description and on-line understanding, the error is because many jar packages in Spring boot version depend on jdk 1.8, so they will make an error at startup, similar to tips that do not support jdk version. Just change to JDK8 environment.

Because my Eclipse is the latest version of jdk1.8 dependency, so there is no need to install jdk8. So eclipse can change shifts with jre.
The replacement operation is as follows:
1,build path

2,add library

3,select jdk version

4. maven update - recompile project

The spring boot hello world program was successfully launched after the appeal step operation.

Posted by GaryE on Tue, 12 Feb 2019 10:12:19 -0800