模块的复制粘贴、改名、转移,idea模块关联与maven模块关联的不同

一、idea生成文件的结构

.idea和.iml文件由idea生成

.idea文件夹

  • .Idea存放项目的配置信息,包括描述、编码、历史记录,版本控制信息等。
  • .idea文件夹是可以删除的,它是根据用户本地的IntelliJ IDEA配置的生成,不同用户可能配置项不一样,所以一般在做版本控制的时候是把它排除在外,这样可以有效避免版本冲突。
  • compiler.xml文件:这个配置主要保存编译相关的信息,其中有项目包含的模块名称、源码编译后.class文件输出的目录、测试文件编译后输出路径,编译的时候使用jdk版本。
  • workspace.xml文件:这个配置文件主要保存的是工作空间相关配置,例如Maven的配置的根目录,Maven的配置文件路径信息,还有其他默认的配置信息。
  • jarRepositories.xml配置jar相关的信息:该文件会将maven里面定义的jar包数据源都复制过来,它会包含存库的id,名称和url。
  • encodings.xml编码配置信息:该文件可以指定某个目录下文件使用的默认编码。
  • misc.xml:各种杂项
  • modules.xml:模块

.iml文件

  • IDEA中的.iml文件是项目标识文件,缺少了这个文件,IDEA就无法识别项目。跟Eclipse的.project文件性质是一样的。并且这些文件不同的设备上的内容也会有差异,所以我们在管理项目的时候,.project和.iml文件都需要忽略掉
  • iml文件是IntelliJ IDEA自己创建的模块文件,用于java应用开发,存储一些模块相关的信息,比如一个Java组建,插件组建,Maven组建等。存储一些模块路径信息,依赖信息以及别的一些设置。

二、第一种复制粘贴,相当于模块改名

重命名.iml文件名

  • 更改.idea文件夹下compiler.xml中的标签
  • 更改.idea文件夹下modules.xml的模块标签(大概率没有这个xml)
  • 更改pom.xml文件中artifactId标签
  • 最后改项目或模块文件夹的名称

如果不更改.idea文件夹下的文件,退出项目,直接修改pom.xml和项目文件夹名,再次打开项目,会有可能compiler.xml中的模块标签已经更改,这个看脸,概率会变,建议还是手动改一下compiler.xml,别问,问就是实验过了

或者,直接删除.idea文件,刷新一下或重新打开就会再次生成新的.idea文件

三、第二种暴力复制粘贴

  • 删除.imp文件
  • 删除.idea文件
  • 重命名项目或模块文件夹
  • 更改pom.xml

因为.imp和.idea文件是idea帮我们生成的(给它自己用的),所以都删了,适合学生党学习使用

如果是复制粘贴模块,改完文件直接导入项目就可以

四、可能出现的问题(idea模块关联与maven模块关联的不同)

(1)如果出现方括号名,说明文件夹和模块名不一致,看pom.xml和.xml的模块名要与文件夹一致,关闭项目,改文件夹名,重新打开

(2)原本在idea项目下的模块在之前是一起打开的,删除了.imp文件,模块只能被单独当作一个项目,因为在建项目时,新建模块会主模块(2023idea会在建项目时候创建一个与项目同名的模块)在.idea中的.compiler.xml记录项目模块名

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="CompilerConfiguration">
    <annotationProcessing>
      <profile name="Maven default annotation processors profile" enabled="true">
        <sourceOutputDir name="target/generated-sources/annotations" />
        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
        <outputRelativeToContentRoot value="true" />
        <module name="itheima_mybatis_quick" />
        <module name="itheima_spring_tx_anno" />
        <module name="itheima_spring_mvc" />
        <module name="itheima_mybatis_config" />
        <module name="itheima_spring_tx" />
        <module name="itheima_mybatis_dao" />
        <module name="itheima_mybatis_mapper" />
        <module name="SSM" />
        <module name="itheima_mybatis_multi" />
        <module name="itheima_mybatis_anno" />
      </profile>
    </annotationProcessing>
  </component>
</project>

通常建立父子模块关系,用maven建立的,打开文件也是用maven加入模块的pom.xml,所以想在项目里打开多模块,需要在pom.xml设置父子模块,这样在使用idea添加新模块时,不会依赖.idea建立联系,关于maven分模块开发,请阅读6.Maven分模块开发_maven多模块-CSDN博客

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值