maven项目切换JDK踩坑指南分享

 更新时间:2024年11月30日 14:10:04   作者:杉莘  
文章介绍了如何在Windows系统中配置多版本JDK环境,并解决环境变量配置失效的问题,同时,还提供了在IntelliJ IDEA中配置不同项目JDK版本的方法

maven项目切换JDK踩坑指南

配置多版本的jdk环境(原jdk1.8,切换到jdk17)

环境变量配置失效;

下载jdk17,安装

配置环境变量JAVA_HOME、CLASS_PATH、Path

  • 修改原JAVA_HOME为JAVA8_HOME
  • 新增环境变量name=JAVA17_HOME, value=jdk17文件目录;
  • 新增环境变量name=JAVA_HOME, value=%JAVA17_HOME%(将JAVA_HOME指向Java17环境变量)
  • CLASS_PATH和Path中如果使用的是相对变量,如下图,则不用修改,如果不是使用的%JAVA_HOME%,需要修改为当前jdk版本安装目录(推荐使用相对目录);Path变量也一样,不再复述

  • 校验
  • 配置好了之后,命令行执行java -version,无任何版本信息输出;
  • 为了确保是否安装jdk失败,切换到jdk安装目录;输入cmd+enter键,再次执行java -version;正常显示jdk版本,说明安装成功;无输出则说明jdk安装出问题,需要卸载重装;

环境变量失效原因&&解决方案:

安装jdk版本之后,系统会生成如下图标红1两个地址,默认从该地址读取环境值;导致配置的环境变量失效;

  • 解决方案1:删除标红1;
  • 解决方案2:将2上移1的上面,越往上优先级越高,(但是我试了没用,不知道是系统读取环境变量值需要时间还是其他原因,感兴趣的小伙伴可以试着解决)

再次确认,命令行Java -version;如下,修改成功!

idea版本配置修改(单项目修改)

  • file ->projectStructrue
  • 三个标红sdk修改为指定版本;
  • 尤其是Modules,sources和dependencies都需修改;

  • file->settings->build,exe……->compiler

  • pom.xml
    <properties>
        <java.version>17</java.version>
    </properties>
……………………

 <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.10.1</version>
       <configuration>
       		<source>17</source>
       		<target>17</target>
       </configuration>
</plugin>

以上所有修改点都保持一致,就不会出问题了,漏掉地方可能会出现:

  • Java:警告 源发行版x需要目标发行版x
  • maven编译打包错误:maven-compiler-plugin ………… --RELEASE等莫名的错误

如果需要对所有项目修改,需要修改maven安装目录下的/conf/settings.xml文件

总结

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

相关文章

  • java读取csv文件和写csv示例分享

    java读取csv文件和写csv示例分享

    这篇文章主要介绍了JAVA对CSV格式文本数据处理后再保存成新CSV格式文本的模板,可以学习到java读取csv文件和写csv的方法,需要的朋友可以参考下
    2014-03-03
  • Java数据结构之线段树的原理与实现

    Java数据结构之线段树的原理与实现

    线段树是一种二叉搜索树,是用来维护区间信息的数据结构。本文将利用示例详细讲讲Java数据结构中线段树的原理与实现,需要的可以参考一下
    2022-06-06
  • Automapper实现自动映射的实例代码

    Automapper实现自动映射的实例代码

    这篇文章主要介绍了Automapper实现自动映射的实例代码,需要的朋友可以参考下
    2017-09-09
  • Mybatis-plus新版本分页失效PaginationInterceptor过时的问题

    Mybatis-plus新版本分页失效PaginationInterceptor过时的问题

    这篇文章主要介绍了Mybatis-plus新版本分页失效,PaginationInterceptor过时问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Java基础学习之接口详解

    Java基础学习之接口详解

    接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法。本文通过一些示例详细为大家展示了接口的使用,需要的可以参考一下
    2022-10-10
  • JSON数据转换成Java对象的方法

    JSON数据转换成Java对象的方法

    就目前来讲,将Java对象转换成JSON对象还是相当简单的,但是 将JSON对象转换成Java对象,就相对比较复杂了些
    2014-03-03
  • Java8如何从一个list中获取某一元素集合

    Java8如何从一个list中获取某一元素集合

    这篇文章主要介绍了Java8如何从一个list中获取某一元素集合,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • SpringBoot多环境配置教程详解

    SpringBoot多环境配置教程详解

    当开发真实的项目时,可能会遇到不同的环境,不同的环境所需要的配置内容也会不尽相同,所以,掌握多环境配置还是非常有必要的。本文为大家准备了SpringBoot多环境配置教程,需要的可以参考下
    2022-06-06
  • Java实现双色球抽奖随机算法示例

    Java实现双色球抽奖随机算法示例

    本篇文章主要介绍了Java实现双色球抽奖随机算法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • MyBatis集成Spring流程详解

    MyBatis集成Spring流程详解

    在实际开发中不仅仅是要展示数据,还要构成数据模型添加数据,这篇文章主要介绍了SpringBoot集成Mybatis操作数据库,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08

最新评论