1、File->Project Structure->Facets
Facets:英文翻译“(事物的)方面特征”,表述了在module(项目/模块/组件)中使用的各种各样的框架、技术和语言。这些Facets让IDEA知道怎么对待module内容,并保证与相应的框架和语言保持一致。
使用Facets能让我们下载并配置framework所必须的组件,会自动生成各种各样的描述符,并存储在适当的位置,等等。
大多数Facets可以无冲突得添加到Module中。
也有一些Facets是继承其他Facets的,这些Facets的添加就必须先添加他们的父Facets,这些Facets也要依赖Intellij IDEA的相关插件是否开启.
例如web项目,他有一个很重要的作用是配置web.xml文件的访问路径和部署root的位置,如图
2、File->Project Structure->Artifacts
Artifacts是一个项目资源的组合体。例如,一个已编译的java类的集合,一个已打包的java应用。
Artifacts可以是一个archive文件,也可以是一个包含以下结构元素的目录结构:
-- (一个或多个)module的编译Output;
-- 包含在module的依赖中的Libraries;
-- 资源的集合,如web页面,图片,decriptor文件;
-- 其他artifacts;
-- 个别文件、目录和archives;
通过artifact配置实现运作:
Artifacts会根据artifacts配置自动生成。配置方式:Project Structure dialog (File | Project Structure | Artifacts)
常规设置:
Name :artifact配置的名称,又或是artifact的名称。
Type :artifact的类型
Output directory :当执行build(Build | Build Artifacts)时,artifacts将被放到这个指定的目录下。
Build on make :当build project(Build | Make Project)时,会自动build artifacts。
由此可见,
①当我们项目中的Type 和 Output directory是:
此时,我们的Artifacts是这个样子:(已编译的资源和已打包的应用)
②当我们的Type 和 Output directory是:
此时我们的Artifacts是这样:(一个目录结构)
Artifacts的默认配置会是这样:
总结,无论配置Facets、Artifacts还是标记Content Root,都是Intellij IDEA要求我们这样做的,以便其能识别这些文件并整合各插件实现功能。