File->Project Structure
有关idea的project settings:
Project:设置本project的name, SDK, language level, complier output
Modules: 一个project包含多个module,每个module可以有自己的source code,配置文件,SDK, 依赖的library,资源等等,默认module继承整个project的SDK。
Libraries:一个project依赖的库,可以直接放在工程的lib文件夹中,也可以由maven或者gradle工具管理
Facets:表示某个module有什么特征,比如web,hibernate,spring等,其中大部分有关framework/technology的配置,一般以xml的形式存在,一个框架是跟某个或某几个Module都有的,一个module可以有多个facet,比如有关于hibernate配置的xml,有关于spring配置的xml,一个facet可以被多个module使用(如spring下面有多个模块)
Artifacts:项目产生物,表示某个module要如何打包,例如war exploded、war、jar、ear等等这种打包形式,经常看到xxx.war(exploded),这个exploded的意思是不压缩的意思。也就是war、jar等产出物没压缩前的目录结构。建议在开发的时候使用这种模式,便于修改了文件的效果立刻显现出来。