持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第8天,点击查看活动详情 。idea文件在pycharm和IDEA里面都很常见的,但是我们总是忽略他。其实作用多多少少可以猜到。
他是一个项目的配置文件包括数据源,类库,项目字符编码,历史记录,版本控制信息等。
最后说一下 .idea文件夹是可以删除的(亲测),它应该是根据用户本地的IntelliJ IDEA配置的生成,不同用户可能配置项不一样,所以一般在做版本控制的时候是把它排除在外,这样可以有效避免版本冲突。
下面我们来逐个探究里面所有文件的作用。
1compiler.xml
这个配置文件名字就很开门见山编译器
。它主要保存编译相关的信息,其中有项目包含的模块名称、、测试文件编译后输出路径,编译的时候使用jdk版本。
- 以我这个文件为例:
主要包含两方面的配置CompilerConfiguration
和JavacSettings
也就是编译器配置和java设置。
- 编译器配置
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
看名字翻译就知道了,分别对应
- 源码编译后.class文件输出的目录
- 测试文件编译后输出路径
- 还有一个输出是否相对ContentRoot 最后一个是真的理解,我能查到的就是ContentRoot的定义。
ContentRoot是一个包含组成模块(Module)的所有文件的文件夹.IntelliJ IDEA中的 Content Root 目录和其他目录是有标识区分的。
箭头指的就是ContentRoot目录。
这个true
和false
的指定到底什么用,不了解。
我改成false后项目照常运行,既然是和输出有关的,所以我试试打包输出。
打包也是正常运行的,这个在网络上也没查到很有用的资料,不过应该和项目相关性不是很强,所以挖个坑吧。
- java设置
这个是描述每个module模块使用的编译器信息的文件。如使用1.8编译,是否加了编译参数-parameters等等都在这里体现
2encoding.xml
他指向了我们常用的工作文件,然后指定了编码
utf-8
3jarRepositories.xml
查到的资料显示他是个远程仓库配置文件,里面确实全是url的链接。
4 misc.xml
里面包含了maven项目中的配置文件pom.xml
的路径,还有就是我们项目中一些混杂信息,如SDK、jdk版本、项目输出的目录等等。
5vcs.xml
版本控制系统的映射文件,比如,我们根目录由git来控制。
6**workspace.xml**
这个文件的作用就是记录idea针对该项目的配置,包括服务器的相关配置,maven或者jdk的相关配置,第三方jar的配置等。
个人总结
感觉像是无用的一篇,就当扫盲了吧。.idea
没有太多相关资料是正确的,毕竟实际生产时我们确实不用过多的关注他。
而且当我们打开别人的工程存在一定的问题时,可以通过删除这个目录.idea
,重启IDEA,一般就解决了问题。