idea如何通过maven指定JDK版本

 更新时间:2024年08月12日 11:07:58   作者:roman_日积跬步-终至千里  
这篇文章主要介绍了idea如何通过maven指定JDK版本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

idea通过maven指定JDK版本

问题描述

如图:

设置了通过idea设置了jdk的版本之后,运行 maven build,或者过一段时间之后,项目的编译 jdk 版本会回到 1.5 版本,再次修改还是回到1.5版本。

解决方式

This error means that you must not modify the project structure and build configuration like project dependencies, compiler settings, sources/resources directories etc using IDE UI dialogs. Instead, you must do corresponding changes in the Maven pom.xml file.

Because otherwise you will loose all such changes made in IDE UI after the project fill be Reloaded by the IDE from the maven build files (pom.xml).

1. 简单地说

  • Maven使用的默认Java编译器版本是Java 1.5。
  • 为了使Maven使用Java编译器的较新版本编译Java代码,需要在项目的POM文件(pom.xml)中显式指定Java编译器。

2. pom配置

  • 在项目的父pom下添加插件:
    <!--通过maven设置jdk的版本 防止idea设置jdk版本之后-->
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.10.1</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

JDK对应的Maven版本

JDK版本Maven版本支持情况
JDK 1.3Maven 2.0.11及以下
JDK 1.4Maven 2.0.11及以下
JDK 1.5Maven 2.0.11及以上
JDK 1.6Maven 2.0.11及以上
JDK 1.7Maven 3.0及以上
JDK 1.8Maven 3.3及以上
JDK 9Maven 3.5.0及以上
JDK 10Maven 3.5.3及以上
JDK 11Maven 3.5.4及以上
JDK 12Maven 3.6.0及以上
JDK 13Maven 3.6.1及以上
JDK 14Maven 3.6.2及以上
JDK 15Maven 3.6.3及以上
JDK 16Maven 3.8.1及以上
JDK 17Maven 3.8.3及以上

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Spring Boot 如何解决富文本上传图片跨域问题

    Spring Boot 如何解决富文本上传图片跨域问题

    这篇文章主要介绍了Spring Boot 如何解决富文本上传图片跨域问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • SpringBoot 2 快速整合 Filter过程解析

    SpringBoot 2 快速整合 Filter过程解析

    这篇文章主要介绍了SpringBoot 2 快速整合 Filter过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • 深入探究Java中的HashMap为什么会产生死循环

    深入探究Java中的HashMap为什么会产生死循环

    HashMap 死循环发生在 JDK 1.8 之前的版本中,这篇文章主要来和大家深入探究一下为什么Java中HashMap会产生死循环,感兴趣的小伙伴可以了解一下
    2023-05-05
  • JAVA设计模式中的策略模式你了解吗

    JAVA设计模式中的策略模式你了解吗

    这篇文章主要为大家详细介绍了JAVA设计模式中的策略模式,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • JAVA实现简单抢红包算法(模拟真实抢红包)

    JAVA实现简单抢红包算法(模拟真实抢红包)

    这篇文章主要介绍了JAVA实现简单抢红包算法(模拟真实抢红包)的实例代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-12-12
  • Mybatis useGeneratedKeys参数用法及问题小结

    Mybatis useGeneratedKeys参数用法及问题小结

    这篇文章主要介绍了Mybatis useGeneratedKeys参数用法及遇到的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • Springboot 上传文件或头像(MultipartFile、transferTo)

    Springboot 上传文件或头像(MultipartFile、transferTo)

    本文主要介绍了Springboot 上传文件或头像(MultipartFile、transferTo),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 详解Java实现分治算法

    详解Java实现分治算法

    分治算法(divide and conquer)是五大常用算法(分治算法、动态规划算法、贪心算法、回溯法、分治界限法)之一,很多人在平时学习中可能只是知道分治算法,但是可能并没有系统的学习分治算法,本篇就带你较为全面的去认识和了解分治算法
    2021-06-06
  • Java实现整数的逆序输出的三种方法

    Java实现整数的逆序输出的三种方法

    这篇文章主要介绍了Java实现整数的逆序输出的三种方法,第一种是无限制整数的逆序输出,第二种是非负整数的逆序输出,第三种是非特殊情况的逆序输出,每种方法给大家讲解的非常详细需要的朋友可以参考下
    2022-11-11
  • 使用ClassFinal实现SpringBoot项目jar包加密的操作指南

    使用ClassFinal实现SpringBoot项目jar包加密的操作指南

    在实际开发中,保护项目的安全性和保密性是至关重要的,针对于 Spring Boot 项目,我们需要将 JAR 包进行加密从而有效地防止未经授权的访问和修改,本文将介绍如何使用ClassFinal在 Spring Boot 项目中实现 JAR 包加密,需要的朋友可以参考下
    2024-06-06

最新评论