关于Facet、Artifacts概念等

转自:https://www.cnblogs.com/bityinjd/p/9284378.html

Facet的作用就是配置项目框架类支持。

比如我们现在要开发的是一个 web 项目,那就需要 web 相关的 Facet,事实上,如果没有这个配置支持,编译器也不知道这个项目是个 web 项目,也就不会去读取 web.xml 的配置,更无法被 tomcat 这种容器支持。

Artifacts,它的作用是整合编译后的 java 文件,资源文件等。但是有不同的整合方式。比如war、jar、war exploded 等,对于 Module 而言,有了 Artifact 就可以部署到 web 容器中了。其中 war 和 war exploded 区别就是后者不压缩,开发时选后者便于看到修改文件后的效果。

目录关系:

Project compilerc output 目录,这个是整个 Project 的编译输出目录

在这里插入图片描述

具体某个Module下的Compiler output,可以选择继承 Project 或者自定义输出目录

在这里插入图片描述

Artifacts 也有一个 Output Directory

在这里插入图片描述

首先Artifacts的目录是跟容器有关的,也就是说我们将web项目部署到某个目录上。

在容器运行的时候,前两者中起作用的那个(个体配置优先)的 classes 文件复制到 Artifacts 配置的目录的 WEB-INF下边,然后把 Module 的 Facet 里的资源文件目录复制到 Artifacts 目录里,再就将 lib 下的 jar 包 复制到 WEB-INF 下,之后项目就可以启动了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值