Facets 和 Artifacts
Facets 表示 module 使用的技术和框架等,比如 Web,Spring 和 Hibernate 等; (另,Modules 中 name 下面也会显示使用的技术,和 Facets 相同)
Artifact 是 maven 中的一个概念,表示某个 module 要如何打包,例如 war exploded、war、jar、ear 等等打包形式;
一个 module 有了 Artifacts 就可以部署到应用服务器中了!(我的习惯是 Artifacts 默认放在 out 文件夹中,部署的时候直接把 out 里的项目文件夹拷到 Tomcat 的 webapps 中)
artifact,英文原意为人工制品,这里应理解为“生成的东西”就差不多了。这个词强调的是这是你软件生产过程中某一步的产生物,不像程序本身,或者是配置文件这些,是你手写出来的。
官方定义(What is an artifact?):
An artifact is an assembly of your project assets that you put together to test, deploy or distribute your software solution or its part. Examples are a collection of compiled Java classes or a Java application packaged in a Java archive, a Web application as a directory structure or a Web application archive, etc.
打包的形式:exploded、jar、war
jar:Java ARchive,通常用于聚合大量的Java类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便分发Java平台应用软件或库;
war:Web application ARchive,一种JAR文件,其中包含用来分发的JSP、Java Servlet、Java类、XML文件、标签库、静态网页(HTML和相关文件),以及构成Web应用程序的其他资源;
exploded:在这里你可以理解为展开,不压缩的意思。也就是war、jar等产出物没压缩前的目录结构。建议在开发的时候使用这种模式,便于修改了文件的效果立刻显现出来。