idea修改language level版本实现方式

 更新时间:2025年12月20日 09:12:38   作者:杰杰程序猿1024  
文章介绍了在不同版本JDK之间的切换时遇到的语言级别版本问题的解决方案,通过修改系统环境变量、Maven配置和IDEA设置,可以实现不同JDK版本的切换,并确保项目顺利编译和运行

1、前言

使用场景,当原本JDK1.8版本的编译环境时,突然加载一个JDK17的项目时,项目reload或maven install时经常报错language level版本问题,以下是解决方案。

2、操作步骤

2.1 修改系统环境变量

多个JDK为了方便切换,我的环境变量是这样设置的,JAVA_HOME负责切换版本,Path变量就跟平时配置的一样。

需要到哪个版本就切换JAVA_HOME里面的变量就行。

2.2 修改MAVEN的配置

maven的配置文件在安装目录的setting.xml,需配置多个JDK的配置。 

<profiles>里面配置多个JDK,<activeProfiles>里面负责切换配置。

如下方配置:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
  <pluginGroups>
  </pluginGroups>
  
  <proxies>
  </proxies>
  
  <servers>
  </servers>
  
 <mirrors>
      <mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
      <id>aliyun</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun-public</name>
      <url>https://maven.aliyun.com/repository/public/</url>
    </mirror>
    <mirror>
      <id>aliyun-spring</id>
      <mirrorOf>spring</mirrorOf>
      <name>aliyun-spring</name>
      <url>https://maven.aliyun.com/repository/spring</url>
    </mirror>

    <!-- 中央仓库在中国的镜像 -->
    <mirror>
      <id>maven.net.cn</id>
      <name>one of the central mirrors in china</name>
      <url>http://maven.net.cn/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
    <!-- 中央仓库1 -->
    <mirror>
        <id>repo1</id>
        <mirrorOf>central</mirrorOf>
        <name>Human Readable Name for this Mirror.</name>
        <url>https://repo1.maven.org/maven2/</url>
    </mirror>

  </mirrors>
  
  <!-- 以下是JDK配置 -->
  <profiles>
    <profile>
         <id>jdk-1.8</id>
         <activation>
             <activeByDefault>true</activeByDefault>
             <jdk>1.8</jdk>
          </activation>
          <properties>
              <maven.compiler.source>1.8</maven.compiler.source>
              <maven.compiler.target>1.8</maven.compiler.target>
              <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
          </properties>
    </profile>
      <profile>
          <id>jdk-17</id>
          <activation>
              <activeByDefault>true</activeByDefault>
              <jdk>17</jdk>
          </activation>
          <properties>
              <maven.compiler.source>17</maven.compiler.source>
              <maven.compiler.target>17</maven.compiler.target>
              <maven.compiler.compilerVersion>17</maven.compiler.compilerVersion>
          </properties>
      </profile>
  </profiles>
  <activeProfiles>
<!--    <activeProfile>jdk-1.8</activeProfile>-->
      <activeProfile>jdk-17</activeProfile>
  </activeProfiles>


</settings>

2.3 idea配置修改

(1)模块设置菜单。

(2)模块设置jdk。

(3)idea设置:file->setting,把图片中的修改为你要的JDK版本。

(4)重载maven

(5)校验,跟(1)的步骤一样进入model setting,如下图所示:

总结

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

相关文章

  • spring validation多层对象校验教程

    spring validation多层对象校验教程

    这篇文章主要介绍了spring validation多层对象校验教程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Java压缩文件ZIP实例代码

    Java压缩文件ZIP实例代码

    这篇文章主要介绍了Java压缩文件ZIP实例代码,有需要的朋友可以参考一下
    2013-12-12
  • Java Stream比较两个List的差异并取出不同的对象四种方法

    Java Stream比较两个List的差异并取出不同的对象四种方法

    今天开发一个需求时要对A和B两个List集合遍历,并比较出集合A有,而集合B没有的值,下面这篇文章主要给大家介绍了关于Java Stream比较两个List的差异并取出不同对象的四种方法,需要的朋友可以参考下
    2024-01-01
  • MyBatis-Plus如何关闭SQL日志打印详解

    MyBatis-Plus如何关闭SQL日志打印详解

    在使用mybatisplus进行开发时,日志是一个非常有用的工具,它可以帮助我们更好地了解和调试我们的代码,这篇文章主要给大家介绍了关于MyBatis-Plus如何关闭SQL日志打印的相关资料,需要的朋友可以参考下
    2024-03-03
  • Java统计接口调用频率的五种方案及对比详解

    Java统计接口调用频率的五种方案及对比详解

    这篇文章主要介绍了五种接口调用频率监控方案,包括固定窗口计数器、滑动窗口计数器、AOP透明统计、Redis分布式统计和Micrometer+Prometheus,每种方案都有其优缺点和适用场景,作者还分享了在实际项目中遇到的问题和解决方案,并提供了容量规划建议,需要的朋友可以参考下
    2025-10-10
  • Java适配器模式_动力节点Java学院整理

    Java适配器模式_动力节点Java学院整理

    这篇文章主要介绍了Java适配器模式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • IDEA离线安装maven helper插件的图文教程

    IDEA离线安装maven helper插件的图文教程

    本文通过图文并茂的形式给大家介绍IDEA离线安装maven helper插件,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-08-08
  • Java两整数相除向上取整的方式详解(Math.ceil())

    Java两整数相除向上取整的方式详解(Math.ceil())

    在调外部接口获取列表数据时,需要判断是否已经取完了所有的值,因此需要用到向上取整,下面这篇文章主要给大家介绍了关于Java两整数相除向上取整的相关资料,需要的朋友可以参考下
    2022-06-06
  • JDK1.6集合框架bug 6260652解析

    JDK1.6集合框架bug 6260652解析

    这篇文章主要为大家解析了JDK1.6集合框架bug:c.toArray might (incorrectly) not return Object[] (see 6260652),具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • Mybatis提示Tag name expected的问题及解决

    Mybatis提示Tag name expected的问题及解决

    MyBatis是一个开源的Java持久层框架,用于将Java对象与数据库表进行映射,它提供了一种简单、灵活的方式来访问数据库,同时也提供了强大的SQL映射和查询功能
    2025-01-01

最新评论