IDEA设置默认JDK、Maven版本问题汇总

本文介绍了在IntelliJ IDEA中遇到的JDK和Maven版本问题及其解决方案。详细步骤包括如何修改当前项目及默认的JDK和Maven版本,以及处理多模块项目中父模块和子模块JDK版本不一致的情况。同时,解析了IDEA中设置JDK和Maven版本的原理,并提供了可能出现问题及解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

遇到的问题:

使用IDEA导入一个Maven多模块项目遇到关于JDK和Maven版本相关的问题,这里记录一下解决办法。

  1. 如何修改当前项目JDK和Maven的版本?

修改当前项目对应Maven版本:

  • File -> Setting -> 搜索Maven

修改JDK版本,需要同时修改Project Structure的Project、Modlues设置和Setting设置:

  • File -> Project Structure -> Project (修改)->Modules(修改)->SDK(修改)

  • File -> Setting -> 搜索Java -> 修改所有子模块的JDK编译版本

这样,当前项目的JDK和Maven版本就修改好了,但是这样后面的新项目不会生效,还要继续修改,想要对新项目生效,就需要设置默认的版本(看下面问题2)。

  1. 如何设置默认导入一个项目时的JDK和Maven版本?

修改导入时项目的默认Maven:

  • 2018版,路径File -> Other Setting -> Default Setting

  • 2021版IDEA路径:File -> ...

修改默认JDK版本:

  • 2018版,路径File -> Other Setting -> Default Project Structure

  • 2021版IDEA路径:File -> ...

保存生效后,后面新导入的项目就会使用默认的JDK和Maven版本。但有时新导入的多模块项目的父模块使用的是默认设置JDK版本,但是子模块使用的是其他版本(看问题3)。

  1. 如何设置默认导入项目时的父模块和子模块的JDK版本?

需要在项目的pom文件中配置对应的版本

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

并且一劳永逸的方法就是修改指定的maven setting.xml配置

    <profile>
      <id>jdk-11</id>
        <activation>
            <activeByDefault>true</activeByDefault>
            <jdk>11</jdk>
        </activation>
            <properties>
                <maven.compiler.source>11</maven.compiler.source>
                <maven.compiler.target>11</maven.compiler.target>
                <maven.compiler.compilerVersion>11</maven.compiler.compilerVersion> 
            </properties>
    </profile>
  1. 如果出现修改了JDK版本,后面又自动修改回来,可能的原因和解决方式是什么?

如果Maven Profiles这里有多个JDK版本,很可能出现修改了配置之后,又重新恢复成原来的版本的情况,这是需要检查你指定的setting.xml文件中的<profiles>是否指定了多个,或者C盘是否有默认的setting.xml文件指定了JDK版本,去掉其他不想用的那个勾选项,修改setting.xml只指定一个JDK版本的<profile>。如果都没有,清除缓存重新使用一个新项目再试试。

原理分析:

  1. 修改File -> Setting -> Java编译版本项目于修改了项目目录下的complier.xml中的<bytecodeTargetLevel>标签的版本,所以修改这个文件中的模块版本,File -> Setting -> Java编译版本也会同步修改。

  1. 修改File -> Project Structure 中的Modules编译版本,其实相当于修改了modules.xml中的JDK版本,同理,也可以批量替换这个文件中的JDK版本,相应的File -> Project Structure 中的Modules编译版本也会同步修改。

  1. 修改Maven setting.xml文件的jdk版本,相当于修改IDEA Maven的Profiles的JDK版本。

参考文档:

https://segmentfault.com/q/1010000003509821

https://blog.csdn.net/isea533/article/details/48575983

我很荣幸能够与大家分享一下我在“计算机辅助的土木和基础设施工程”期刊投稿的经验。我在这个领域已经从事多年,因此对于这个期刊投稿有着一些体会和心得。 首先,我认为投稿前要充分了解期刊的发表要求和范围,特别是对于“计算机辅助的土木和基础设施工程”这样的专业期刊,对于文章内容和形式都有着严格的要求。因此在投稿之前,我会仔细阅读期刊的投稿指南,确保自己的文章符合要求。 其次,我觉得在写作过程中,要注重论文的创新性和实用性。期刊的编辑和审稿人更加关注那些具有创新理念和实际应用意义的研究成果。所以,我在写作过程中会力求深入挖掘问题,提出创新的解决方案,并且充分展现研究结果的实际应用性。 最后,我认为与期刊编辑和审稿人的互动和沟通非常重要。在投稿过程中,我会积极主动地与编辑和审稿人保持联系,及时回复他们的意见和建议,以确保论文能够顺利发表。 总的来说,我觉得“计算机辅助的土木和基础设施工程”期刊是一个非常优秀的学术平台,它为广大研究者提供了一个很好的交流和展示研究成果的机会。通过我多次投稿的经验,我已经进一步提高了自己的学术写作水平和研究能力。希望未来能够有更多的学者和研究者能够通过这个期刊分享他们的研究成果,共同推动学术研究的进步。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值