⼀⽂秒懂IDEA中每天都在⽤的ProjectStructure知识
Idea这款开发⼯具的便利之⼀是很多配置项⼏乎可直接使⽤默认项。但针对不同的项⽬难免需要针对性的配置,本⽂带⼤家详细的梳理⼀遍Project Structure中各项功能,注意收藏,以备不时之需。
先说⼀下写本⽂的缘由,在项⽬中⽤Idea中打开⼀组SpringBoot项⽬,结果编译的结果和⽇志输出的地⽅与预期不⼀致,于是仔细研究了Project Structure的配置项,发现此处竟然有很多有⽤的功能,汇总分享给⼤家。
Project Structure即“项⽬结构”,它⼏乎涵盖了⼀个项⽬所有的个性化的配置项,包括Modules,Facets,Libraries, Artifacts和SDK等板块的功能。
打开项⽬结构的⽅式
开启项⽬结构配置有两种⽅式,⼀种⽅式是点击上图①位置的图标便可直接打开相关的配置界⾯。
另外⼀种⽅式便是通过快捷键打开。Windows操作系统,默认快捷键为“Ctrl+Shift+Alt+S”;Mac操作系统默认快捷键为“command + ;”组合。
第⼀种⽅式如果不到对应配置,教⼤家⼀个使⽤Idea时的⼀个⼤招:“Help”搜索。
点开Help菜单,输⼊Project关键字进⾏搜索,默认会匹配到所有与Project关键字相关的选项,当⿏标移动到对应结果上时,左边会⾃动显⽰对应内容所在的菜单位置,当然你也可以直接点击打开。
不仅此处可以如此操作,⼤多数操作都可以如此,是不是⽤起来⾮常爽!
Project配置项
⼀般情况下,打开之后第⼀个默认选中的显⽰内容便是Project了。重点看⼀下图中的1、2、3、4项。
第⼀项,Project name,项⽬名。就个⼈⽽⾔,⼀般会将此处的项⽬名与项⽬⽬录名和pom⽂件中的name三处保持⼀致。避免不⼀致,同时也避免IDEA在左侧会显⽰多个名称标识。
eclipse搜索文件快捷键如果打开的是⼀组项⽬,⽐如都说springboot的项⽬,此处本⼈会改为类似springboot-all这样的名称,⽽不是其中⼀个(默认是第⼀个)项⽬的名称。
第⼆项,Project SDK。配置项⽬的SDK使⽤,这项平时使⽤的⽐较多,⽐如新打开⼀个项⽬,要查看⼀下SDK版本是否与预期的⼀致。也可以在右边的Edit进⾏SDK的编辑。小景景的个人主页
此处点击编辑会跳到Platform Settings中的SDKs处进⾏操作。此处看⼀下图,操作⽐较简单,就不展开了。
第三项,Project language level。选择要⽀持的Java语⾔级别。如果是多个Module(可以理解为⼀组项⽬)的话,对所有Module⽣效。
不同的JDK版本选择,对代码的语法有⼀定的影响,⽐如选择JDK8以前的版本,那么代码中有基于Lambda的语法将会报错。⽬前使⽤最多的当属JDK8了,当然如果你的项⽬⽐较古⽼或⽐较新,也可以选择其他的版本。
第四项,Project compiler output。指定IntelliJ IDEA将存储编译结果的路径。
开篇时说的问题就在此。针对单个项⽬,可以在配置⼀个输出路径,同时也可以在后⾯提到的Module中进⾏独⽴配置。
但对于多个Module项⽬时,会出现⼤家共⽤⼀个output⽬录。此时如果输出的⽇志⽂件路径⽤“./log”这种形式时,⽇志可能并不会打印到其中的⼦项⽬中,⽽是输出在此处指定的路径下了。
Modules配置项
Modules中的配置⽤的⽐较多的情况就是⼀组项⽬时,可以配置独⽴每个项⽬的参数。包括项⽬名称,⽬录结构,输出路径,依赖等。
下⾯分析⼀下图中标注的四项内容,其中第三和第四项属于Source选项的⼦项。
第⼀项,加号可以导⼊、新增各类Module项⽬,当然后⾯的减号可以移除对应的项⽬。
第⼆项,项⽬名称,使⽤⽅式与前⾯的⼀致,也同样建议多处保持⼀致。
第三项,JDK版本,与Project中⼀样,但此处针对的是当前Module。
第四项,项⽬⽬录结构。对Module的开发⽬录进⾏⽂件夹分类,不同类型的⽂件进⾏指定的⽂件类型。上⾯分了Sources、Test、Resources、Test Resources、Excluded。
顾名思义,Sources放的是Java源码,Test放的是测试的源码,Resources放的是资源⽂件,Test Resources放的是测试使⽤的资源⽂件,Excluded是排除项(⽐如编译后的trarget⽬录)。
此处使⽤⽐较多的场景是新增⽂件夹。右击⼀个顶层⽬录,弹出“New Folder”创建⽬录,随后可以对新增的⽂件夹进⾏类型指定。常见的情况⽐如创建的项⽬没有test或Test Resources,可在此处进⾏添加⽬录,然后指定⽬录类型。
与Sources选项平级的还有Paths和Dependencies。这两项操作都⽐较简单,Paths⽤来指定编译输出路径。
⼀般采⽤默认值即可。其中,Inherit projecty compile output path继承项⽬编译输出路径,使⽤为项⽬指定的路径。即在Project选项中设置的out⽂件路径。Use module compile output path,使⽤模块编译输出路径;Output path为编译输出路径;Test output path为测试代码编译输出路径。
下⾯的JavaDoc使⽤可⽤控件组合与模块关联的外部JavaDocs存储位置的列表。不常⽤,就不具体演⽰了。
另外⼀个是Dependencies,主要配置jar包依赖相关的内容。
这⾥同样可以配置JDK,还可以通过下⾯的加号引⼊其他依赖,同时还可以配置对应jar包所对应的Scope。
上⾯讲解了多处JDK配置的选项,如果在实战过程中出现JDK版本修改或不⼀致的问题,建议从头到尾查看⼀下各处JDK的版本是否有问题。
Libraries选项配置
idea配置artifactswinform 框架Libraries选项卡⾥,可以定义模块SDK并形成模块依赖关系列表。
通过加号⾥⾯的操作可以创建⼀个新的项⽬库,可以设置分类,可以删除等操作。
Facets选项配置
Facets选项主要⽤来表⽰module的特征,⽐如Web、Spring、Hibernate等。
css颜渐变代码
Artifacts选项配置
Artifact是maven中的⼀个概念。这⾥表⽰module打包成什么形式,⽐如:war exploded、war、jar等;
这种形式在基于SpringBoot项⽬时很少使⽤了,基于Web打war包的形式时使⽤的⽐较多。
其中web项⽬有exploded类型,这⾥可理解为不归档的意思,也就直接把⽂件夹、jsp页⾯、classes进⾏部署到容器⾥⾯。建议在开发时使⽤此模式,便于热部署。
默认情况下,IDEA的Modules和Artifacts的output⽬录已设置好,不需要更改。打war包时会⾃动在WEB-INF⽬录下⽣成classes⽬录,并把编译后的⽂件放进去。
其他选项
关于其他选项就不多说了,不太常⽤。其中,SDKs选项为系统开发⼯具,全局SDK配置,新增JDK版本什么的都可以在此配置。Global libraries是全局类库,可以配置⼀些常⽤的类库。Problems在项⽬异常的时可以根据提⽰进⾏项⽬修复(FIXED)。
⼩结
时间戳转date类型因项⽬实战过程中的⼀个问题,研究拓展出整个Project Structure相关的知识体系,这也是⼀个思维和学习的模式。关注“程序新视界”,为你提供更多类似的实战经验和知识积累。
到此这篇关于⼀⽂秒懂IDEA中每天都在⽤的Project Structure知识的⽂章就介绍到这了,更多相关IDEA Project Structure内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论