idea中的project、module、artifact的具体使用

idea中没有工作空间的概念,每一个项目都是一个工作空间,所以我们打开一个新的项目时往往都要配置一下jdk、编译版本、编译输出路径、maven打包设置等。project下有一个module的概念,这个module类似于eclipse中的project。如果一个项目是一个聚合工程,那么它可以配置多个module。module中主要配置这个模块的代码结构,编译输出路径,依赖管理等。

jar包项目因为所有的依赖(Tomcat等)都包含在本模块中,只要编译好了就可以直接运行。但如果是war包项目,它需要部署在Tomcat等容器中,所以需要有一个artifact。
关于artifact的作用在CSDN中有一个博主是这么说的:
artifact是一种用于装载项目资产以便于测试,部署,或者分布式软件的解决方案。例如集中编译class,存档java应用包,web程序作为目录结构,或者web程序存档等

idea中的project、module、artifact的具体使用_第1张图片

一、Project【工程】

这里主要针对全局做配置,但是现在的项目一般都是多模块的,各模块的具体要求都不尽相同,所以这里的配置大多都会被module配置覆盖。

idea中的project、module、artifact的具体使用_第2张图片

二、Modules【模块,一个poject可包含多个】

针对各个模块做配置,我们大部分生效的配置都在这里

idea中的project、module、artifact的具体使用_第3张图片

idea中的project、module、artifact的具体使用_第4张图片

idea中的project、module、artifact的具体使用_第5张图片

新建module的方法

删除父项目的src后,再右键父项目的new

idea中的project、module、artifact的具体使用_第6张图片

三、Libraries

pom依赖导入,就可以了,这里就不需要在设置了吧?

idea中的project、module、artifact的具体使用_第7张图片

四、Facets【设置 Tomcat读取的web.xml配置文件 和 Web资源目录】

Facets(名词:方面)

idea中的project、module、artifact的具体使用_第8张图片

五、Artifacts【项目的打包部署设置,这个是项目配置里面比较关键的地方】

artifact 可以作为存档文件 ,或者作为包含以下结构元素的目录结构:

一个或多个编译模块、模块依赖的类库、Resources 集合、其他 artifacts、独立的文件目录或存档

再白话一点,就是说某个 module 要如何打包

例如 war exploded、war、jar、ear 等等这种打包形式

某个 module 有了 Artifacts 就可以部署到应用服务器中了

jar:Java ARchive,通常用于聚合大量的 Java 类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便分发 Java 平台应用软件或库

war:Web application ARchive一种 JAR 文件,其中包含用来分发的 JSP、Java Servlet、Java 类、XML 文件、标签库、静态网页(HTML 和相关文件),以及构成 Web 应用程序的其他资源

exploded:在这里你可以理解为展开,不压缩的意思。也就是 war、jar 等没压缩前的目录结构。建议在开发的时候使用这种模式,便于修改了文件的效果立刻显现出来

默认情况下,IDEA 的 Modules 和 Artifacts 的 output 目录已经设置好了,不需要更改,打成 war 包的时候会自动在 WEB-INF 目录下生成 classes,然后把编译后的文件放进去。

具体操作:

Web Application: ExplodedWeb Application: Archive
这两个打包的东西是一样的,只不过Archive类型的就是压缩过的,一般开发时选Exploded类型的。

idea中的project、module、artifact的具体使用_第9张图片

idea中的project、module、artifact的具体使用_第10张图片

idea中的project、module、artifact的具体使用_第11张图片

 到此这篇关于idea中的project、module、artifact的具体使用的文章就介绍到这了,更多相关idea中的project、module、artifact内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(idea中的project、module、artifact的具体使用)