侧边栏壁纸
博主头像
孔子说JAVA博主等级

成功只是一只沦落在鸡窝里的鹰,成功永远属于自信且有毅力的人!

  • 累计撰写 285 篇文章
  • 累计创建 125 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

IDEA 模块JDK依赖为何总是自动变为JDK1.5

孔子说JAVA
2021-09-13 / 0 评论 / 0 点赞 / 178 阅读 / 2,192 字 / 正在检测是否收录...

在idea中使用maven项目时,每次更新或重新载入maven项目后,项目或模块依赖的JDK都会重新变成JDK1.5,就算手动设置maven项目或者模块为JDK1.8,刷新后还是会变为JDK1.5。具体表现为:编译项目的时候会出现警告:“Warning:java: 源值1.5已过时, 将在未来所有发行版中删除”,并且无法编译jdk1.5以上的代码。这是由于创建项目时没有指定jdk版本,而maven的默认jdk版本为1.5导致的。

我们可以先设置好maven的jdk配置后,再修改idea环境的jdk配置,彻底解决jdk版本的依赖问题。

1、maven的JDK配置

maven的JDK配置,可以有以下几种解决方案,任选一种即可。

1.1、设置 maven 全局JDK版本(全局配置,一劳永逸)

针对idea配置的本地maven,在目录下conf文件夹内的setting.xml配置文件中加入以下配置,凡是使用这个maven的项目都会自动使用该配置指定的jdk版本。

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

1.2、在maven项目的pom文件中指定JDK版本(项目配置)

在当前maven项目pom文件中指定编译的jdk版本,只针对当前项目有效。

<properties>
	<maven.compiler.source>1.8</maven.compiler.source>
	<maven.compiler.target>1.8</maven.compiler.target>
</properties>

1.3、在maven编译插件中指定当前JDK版本(项目配置)

在当前maven项目pom文件中,maven-compiler-plugin插件中指定当前项目编译的jdk版本,只针对当前项目有效。

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
    </plugins>
</build>

1.4、SpringBoot项目,只需指定java.version即可

<properties>
	<java.version>1.8</java.version>
</properties>

2、IDEA的JDK配置

2.1 File -> Settings 中设置jdk版本

打开菜单File -> Settings, 找到 Build, Execution, Deployment -> Compiler -> Java Compiler 标签,设置项目/模块的jdk版本,保存。

image-1648807874073

2.2 File -> Project Structure 中设置jdk版本

打开菜单File -> Project Structure, 设置Project SDK版本,Project language level,以及各module的Language level。

2.2.1 设置Project SDK版本

点击Project Settings -> Project 标签,设置Project SDK版本,保存。

image-1648807915941

2.2.2 设置Project language level版本

点击Project Settings -> Project 标签,设置Project language level,保存。

image-1648807947160

2.2.3 设置各module的Language level版本

点击Project Settings -> Modules 标签,依次选择各个module -> Sources,设置Language level,保存。

image-1648807962650

0

评论区