您现在的位置是:首页 >学无止境 >Springboot项目升级jdk11网站首页学无止境

Springboot项目升级jdk11

孟林洁 2024-06-19 13:56:19
简介Springboot项目升级jdk11

一、本地升级jdk11

  1. 下载jdk11
  2. 安装
  3. 配置环境变量
  4. java -version查看版本,是否配置成功

参考:

jdk11 下载与安装(非常详细,一步不落!!!)

Java jdk11 在Mac上的安装和配置以及JDK多个版本之间切换

一、pom文件修改

打包成可运行的springboot jar

<properties>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
</properties>
<plugins>
     <plugin>
           <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
</plugins>

打包成普通jar

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>11</source>
                    <target>11</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

maven-compiler-plugin spring-boot-maven-plugin 区别:

  1. maven-compiler-plugin是jar包生成插件,提供了manifest的配置,生成jar包中一般存放的是.class文件已经resources目录下的东西,文件很小。
  2. spring-boot-maven-plugin主要目标是spring-boot的启动、停止、运行和repackage,对于打包来说那就是repackage,也就是说它实现的打包功能是重新打包,原始jar包还是由maven-jar-plugin生成的
  3. 使用maven-compiler-plugin生成的jar不能直接通过java -jar运行,提示:没有主清单属性。

二、其它依赖版本调整

  • lombok升级至1.18.4后的版本,如1.18.16
  • maven-compiler-plugin升级至3.8.0后的版本,如3.8.1
  • maven-surefire-plugin升级至3.0.0-M1后的版本,如3.0.0-M5
  • JDK11,缺少JAXB APIjar包。JAXB APIjava EE API,因此在java SE 11 中不再包含这个 Jar 包,新增以下四个依赖:c
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.0</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>2.3.0</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-core</artifactId>
            <version>2.3.0</version>
        </dependency>
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1.1</version>
        </dependency>

参考:升级JDK11 Maven依赖 

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。