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集成springfox-swagger2构建restful API的方法教程

    Spring Boot集成springfox-swagger2构建restful API的方法教程

    这篇文章主要给大家介绍了关于Spring Boot集成springfox-swagger2构建restful API的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。
    2017-06-06
  • spring的TransactionSynchronizationAdapter事务源码解析

    spring的TransactionSynchronizationAdapter事务源码解析

    这篇文章主要介绍了spring的TransactionSynchronizationAdapter事务源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • java fastjson传输long数据却接收到了int的问题

    java fastjson传输long数据却接收到了int的问题

    这篇文章主要介绍了java fastjson传输long数据却接收到了int的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Java魔法值处理的四种方式

    Java魔法值处理的四种方式

    这篇文章主要介绍了Java魔法值处理的四种方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Java中ThreadLocal的用法及原理详解

    Java中ThreadLocal的用法及原理详解

    这篇文章主要介绍了Java中ThreadLocal的用法及原理详解,在并发编程中,如果一个类变量被多个线程操作,会造成线程安全问题,使用ThreadLocal可以让每个线程拥有线程内部的变量,防止多个线程操作一个类变量造成的线程安全问题,需要的朋友可以参考下
    2023-09-09
  • 深入分析JAVA Vector和Stack的具体用法

    深入分析JAVA Vector和Stack的具体用法

    这篇文章主要介绍了深入分析JAVA Vector和Stack的具体用法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Java实现经典游戏2048的示例代码

    Java实现经典游戏2048的示例代码

    2014年Gabriele Cirulli利用周末的时间写2048这个游戏的程序。本文将用java语言实现这一经典游戏,并采用了swing技术进行了界面化处理,需要的可以参考一下
    2022-02-02
  • Spark学习笔记Spark Streaming的使用

    Spark学习笔记Spark Streaming的使用

    这篇文章主要介绍了Spark学习笔记Spark Streaming的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • SpringBoot实现文件上传功能

    SpringBoot实现文件上传功能

    这篇文章主要为大家详细介绍了SpringBoot实现文件上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Spring中的接口重试机制spring-retry之listeners参数解析

    Spring中的接口重试机制spring-retry之listeners参数解析

    这篇文章主要介绍了Spring中的接口重试机制spring-retry之listeners参数解析,注解@Retryable有一个参数listeners没有说明,那么本篇文章我们详细介绍一个这个参数的用,需要的朋友可以参考下
    2024-01-01

最新评论