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,如下图所示:

总结

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

相关文章

  • Java 散列存储详解及简单示例

    Java 散列存储详解及简单示例

    这篇文章主要介绍了Java 散列存储详解及简单示例的相关资料,需要的朋友可以参考下
    2017-02-02
  • Log4j2 重大漏洞编译好的log4j-2.15.0.jar包下载(替换过程)

    Log4j2 重大漏洞编译好的log4j-2.15.0.jar包下载(替换过程)

    Apache 开源项目 Log4j 的远程代码执行漏洞细节被公开,由于 Log4j 的广泛使用,该漏洞一旦被攻击者利用会造成严重危害,下面小编给大家带来了Log4j2 重大漏洞编译好的log4j-2.15.0.jar包下载,感兴趣的朋友一起看看吧
    2021-12-12
  • 深入了解Java设计模式之策略模式

    深入了解Java设计模式之策略模式

    策略模式属于Java-设计模式中行为模式之一,该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换。本文将通过示例详细讲解这一模式,需要的可以参考一下
    2022-09-09
  • Maven工程打包jar的多种方式

    Maven工程打包jar的多种方式

    Maven打包一般可以生成两种包一种是可以直接运行的包,一种是依赖包(只是编译包),这篇文章主要介绍了Maven工程打包jar的多种方式步骤详解,需要的朋友可以参考下
    2023-04-04
  • Java中Base64加密解密举例详解

    Java中Base64加密解密举例详解

    Base64编码是我们程序开发中经常使用到的编码方法,它是一种基于用64个可打印字符来表示二进制数据的表示方法,这篇文章主要给大家介绍了关于Java中Base64加密解密的相关资料,需要的朋友可以参考下
    2024-05-05
  • 详解如何更改SpringBoot TomCat运行方式

    详解如何更改SpringBoot TomCat运行方式

    这篇文章主要介绍了详解如何更改SpringBoot TomCat运行方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • java实现抽奖概率类

    java实现抽奖概率类

    这篇文章主要为大家详细介绍了java实现抽奖概率类,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • java中构造器内部调用构造器实例详解

    java中构造器内部调用构造器实例详解

    在本篇文章里小编给大家分享的是关于java中构造器内部调用构造器实例内容,需要的朋友们可以学习下。
    2020-05-05
  • springboot整合shiro多验证登录功能的实现(账号密码登录和使用手机验证码登录)

    springboot整合shiro多验证登录功能的实现(账号密码登录和使用手机验证码登录)

    这篇文章给大家介绍springboot整合shiro多验证登录功能的实现方法,包括账号密码登录和使用手机验证码登录功能,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2021-07-07
  • MyBatis foreach 批量更新实例

    MyBatis foreach 批量更新实例

    这篇文章主要介绍了MyBatis foreach 批量更新实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01

最新评论