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文件

总结

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

相关文章

  • springboot如何集成Swagger2

    springboot如何集成Swagger2

    这篇文章主要介绍了springboot集成Swagger2的方法,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下
    2020-12-12
  • 使用GenericObjectPool避免泄漏设置方法

    使用GenericObjectPool避免泄漏设置方法

    这篇文章主要为大家介绍了使用GenericObjectPool避免泄漏的设置方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • 一文详解Java线程中的安全策略

    一文详解Java线程中的安全策略

    Java中的线程到底有哪些安全策略呢?这篇文章将详细为大家分析一下。文中的示例代码讲解详细,对我们学习或工作有一定帮助,需要的可以参考一下
    2022-05-05
  • java 解压与压缩文件夹的实例详解

    java 解压与压缩文件夹的实例详解

    这篇文章主要介绍了 java 解压与压缩文件夹的实例详解的相关资料,希望通过本文能帮助到大家,让大家实现这样的功能,掌握这样的方法,需要的朋友可以参考下
    2017-10-10
  • Java多线程高并发中的Fork/Join框架机制详解

    Java多线程高并发中的Fork/Join框架机制详解

    本文主要介绍了 Java 多线程高并发中的 Fork/Join 框架的基本原理和其使用的工作窃取算法(work-stealing)、设计方式和部分实现源码,感兴趣的朋友跟随小编一起看看吧
    2021-11-11
  • 快速理解Java设计模式中的组合模式

    快速理解Java设计模式中的组合模式

    这篇文章主要介绍了快速理解Java设计模式中的组合模式,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Java中JUC包(java.util.concurrent)下的常用子类

    Java中JUC包(java.util.concurrent)下的常用子类

    相信大家已经对并发机制中出现的很多的常见知识点进行了总结,下面这篇文章主要给大家介绍了关于Java中JUC包(java.util.concurrent)下的常用子类的相关资料,文中通过图文以及示例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • SpringCloud的Hystrix简单介绍

    SpringCloud的Hystrix简单介绍

    这篇文章主要介绍了SpringCloud的Hystrix简单介绍,SpringCloud Hystrix是Netflix开源的一款容错框架,具备服务降级,服务熔断,依赖隔离,监控(Hystrix Dashboard)等功能,同样具有自我保护能力,需要的朋友可以参考下
    2023-07-07
  • java生成excel并导出到对应位置的方式

    java生成excel并导出到对应位置的方式

    这篇文章主要介绍了java生成excel并导出到对应位置的方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • SpringBoot一个非常蛋疼的无法启动的问题解决

    SpringBoot一个非常蛋疼的无法启动的问题解决

    这篇文章主要介绍了SpringBoot一个非常蛋疼的无法启动的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11

最新评论