【学习笔记——SpringBoot 0105】IntelliJ IDEA项目资源管理器中选择Compact Middle Packages将包改为紧凑型及resouces资源包中出现紧凑型目录的解决
此篇我们来说下在IntelliJ IDEA中,如何将项目src目录下的包结构改为紧凑中间包的形式,以及不小心将resouces资源包中的目录改为紧凑型包的解决方法。
一、勾选Compact Middle Packages将src下的包改为紧凑中间包型
1)将层级式改为紧凑型
我们之前导入springbootinit结束后,看到的目录是下图中的层级式。
点击一下项目资源管理器右上角的齿轮图标,可以看到此时Compact Middle Packages是未勾选状态。
2)勾选Compact Middle Packages
勾选上Compact Middle Packages之后,包结构就变成紧凑型的了,就是这么简单。
3)尝试下勾选Flatten Packages
我们也可以尝试下别的选项,比如Flatten Packages。在尝试之前,先回到下图中层级式包结构的初始状态。
勾选Flatten Packages之后,发现多了好几个目录,但其实除了com.xdyangf.springbootinit,com和com.xdyangf这两个目录都是空的。此时的目录结构,可以称为平铺式包结构(我自己起的)。
3)同时勾选Flatten Packages和Hide Empty Middle Packages
不知道大家有没有注意,当勾选了Flatten Packages之后,Compact Middle Packages选项就消失了,但多出了一个Hide Empty Middle Packages选项,此时我们将Flatten Packages和Hide Empty Middle Packages都勾选上,则会发现,如下图中所示,当前项目也变成了紧凑型的包结构。
4)在Compact Middle Packages下转换为Flatten Packages
我们再做一个实验,先将项目资源管理器改为下图中的Compact Middle Packages状态。
接着,选择Flatten Packages,会发现,从Compact Middle Packages切换到Flatten Packages的话,Hide Empty Middle Packages(隐藏空包)会自动为勾选状态。
也就是说,我们可以暂时认为Compact Middle Packages == Flatten Packages + Hide Empty Middle Packages。
二、resouces资源包中出现紧凑型目录的解决
以下的内容是我在给资源包中创建子目录时遇到的一些问题。
1)在static中创建子文件夹
如下图所示,如果我们想在static中创建一个名叫css的子目录,按照正常的思路,在static上右键,并点击New>Directory即可。
接着输入目录名css,并按下回车键。
但是,看下图中,并没有出现我们想要看到的层级式目录结构,而是出现了static.css这样和src中一样的紧凑中间包结构。
出现这样的情况是合理的,为什么呢,看下图。因为此时正是Compact Middle Packages的设定,因此,resources中的目录结构将和src中的包结构一样,都会将中间的空包收缩起来,导致最后是紧凑中间包结构。正是因为static目录中没有文件,因此static被收缩起来了,整体成为了static.css形式。
2)暂时取消Compact Middle Packages
如果我们只是往css里面添加html等文件,则无需再做任何修改,继续右键static.css,点击New>Stylesheet即可在static.css目录下新建css文件。
但是,如果我们想往static目录下(不是static.css)添加别的文件就无从下手了。同时,如果我们想在static目录下添加新的子目录也不好办,如下图所示,我们先回到static.css空文件夹的状态。
本来打算想往static下添加一个和css同级的js目录,结果如下图所示,js右跟在static.css后面了,成为了static.css.js紧凑型目录结构了。
这个时候我们需要怎么办,其实很简单,先暂时地将Compact Middle Packages取消勾选即可。如下图所示,这时resources中的空包都已经显现,而且,可以看到,我们本想添加在static下的js目录,却添加到了css下面。
此时,我们可以选择右键js,并点击Delete删除掉位置错误的js目录。
3)添加了子文件后再勾选上Compact Middle Packages
我们先回到下图中删除了js目录的这一步。
那么有人就要问了,我现在将Compact Middle Packages取消勾选了,但是src中的包结构也就随之变成了层级形式了,但是我不习惯这样去开发src中的.java文件。
那么这个问题也很好解决,为了能让src中的包结构回到紧凑型的状态,我们只需往resources中的空目录里添加一些不用的html文件,然后再勾选上Compact Middle Packages即可。
如下图所示,我除了给css目录中添加了一个需要用的bootstrap.css文件之外,还给static目录下添加了一个不需要用到的nothing.html文件。
再勾选上Compact Middle Packages,我们就可以看到static和css已经不会再所谓紧凑目录static.css了。同时,src中的包结构也回到了紧凑型。
三、Eclipse中稳固的包结构
又到了尴尬的对比时间,我们来看看使用Eclipse在resouces中的static空目录下添加一个css目录会怎么样,结果是,不会像IntelliJ IDEA那样缩为紧凑型结构。
所以,你们可以再次告诉大家,你们喜欢用IntelliJ IDEA还是Eclipse。