详解Intellij IDEA的Facets和Artifacts

Facets

Facets表述了在Module中使用的各种各样的框架、技术和语言。这些Facets让Intellij IDEA知道怎么对待module内容,并保证与相应的框架和语言保持一致。

使用Facets能让我们下载并配置framework所必须的组件,会自动生成各种各样的描述符,并存储在适当的位置,等等。

大多数Facets可以无冲突得添加到Module中。

也有一些Facets是继承其他Facets的,这些Facets的添加就必须先添加他们的父Facets,这些Facets也要依赖Intellij IDEA的相关插件是否开启.

目前可用Facets列表(包含存在依赖关系的Facets)

举例1:Web Facets

配置Web、EJB、Java EE Application的Facets大致相似,所以我们放在一起介绍一下,不一样的地方会有标记:

下面说下Web、EJB、Java EE Application Facet:

下面分别介绍每一项配置:

Name:输入该Web Facet的名称,上图用的是Web作为名称,也是默认的名称。

Deployment Descriptors:在这部分,管理应用的部署描述符。

---- Type:只读字段,展示部署描述符类型。各自依赖的facet类型有:Web Module Deployment Descriptor、EJB Module Deployment Descriptor、 Application Module Deployment Descriptor

---- Path:只读字段,展示部署描述符的位置。各自部署描述符有:web.xml,ejb.xml, or application.xml

----  (Alt+Insert) :用这个图标或者快捷键,来添加一个新的部署描述符,在打开的Deployment Descriptor Location对话框选择部署描述符的位置和用到的指定版本(版本不可选就不用管它)。

----   (Enter) :使用这个图标或快捷键,来重新指定部署描述符的位置。

----  (Alt+Delete) :使用这个图标或快捷键,从列表中删除选定的描述符。如果希望同时删除磁盘上的描述符,可以在打开的Delete Deployment Descriptor对话框中勾选Also delete from disk选项。

---- Add Application Server specific descriptor :点击这个按钮添加一个支持application servers的部署描述符,常见的application servers:Geronimo, GlassFish, Tomcat, JBoss, or WebLogic,在弹出的对话框中选择一个application server及其版本。

Web Resource Directories:在这部分,我们将第三方或未分类资源路径映射到部署根目录。

---- Web Resource Directory :只读字段,展示所需的Web Resource位置的本地目录。Web Resource目录包含Web开发所需的文件:JSP、HTML、XML等。Web Resource目录下的内容会被拷贝到由Relative Path所指定的Web模块部署目录。

---- Pah Relative to Deployment Root:只读字段,展示Web Resource相对于Web部署的根目录的相对路径。

----  (Alt+Insert) :使用这个图标或快捷键,打开一个配置Web Resource Directories映射的对话框(Web Resource Directory Path)。

---- 修改和删除按钮就不赘述了。

在这里需要说的是 Web Resource Directory Path 对话框:

---- dialog ----Web Resource Directory Path :指定所需的Web Resource所在的本地目录。

---- dialog ---- Relative path in deployment directory :指定部署Web Resource的相对目录,相对于部署根目录。如果输入斜杠'/',那么Web Resource目录里的文件将被拷贝到部署目录的根目录。

Source Roots :这部分展示当前module所遇到的source root列表。

要了解source roots就得从Content Root说起:

Content Root:

Content Root是包含组成Module的所有文件的文件夹。

一个Module可以包含多个Content Root,但但多数情况一个Content Root就够了。在特殊情况下,没有Content Root的module也很有用。.

分类:一个Content Root里的文件夹分为以下几类:

1、Source Roots(或Source Folders,展示样式: )

标为此类的文件夹,告诉Intellij IDEA,此文件夹及其子文件夹应作为构建过程的一部分进行编译。

在Java的Module中,Source Roots的子文件夹代表着Java的包结构。

2、Resource Roots(或Resource Folders,展示样式:  ,只有Java Module才可用):

在我们的应用中,是给resource文件用的。如,图片文件、各种各样的xml配置文件和properties属性文件等。

在构建过程中,所有resource Roots下的内容将原封不动得拷贝到Output文件夹。

3、Excluded Roots(展示样式:):

Intellij IDEA对该文件夹基本忽略,对该文件夹下的文件提供非常有限的代码辅助。即便是搜索,Intellij IDEA也不会查找这个文件夹下的内容。

把一些不怎么重要的文件夹标记为Excluded Roots,可以提高Intellij IDEA的用户体验。

如果一个Module只是作为一个单独的依赖库,显然是不需要Content Root的。

举例2:Spring Facets

在Facets中添加Spring,会弹出Choose Module对话框,并提示spring facets will be added to selected module。

在Spring Facets中点击将弹出New Application Context对话框。对话框中Name指定context名称,parent context指定父context。

但事实上Intellij IDEA会自动探测,并不需要我们手动配置。

Artifacts:

artifact是一个项目资源的组合体。例如,一个已编译的java类的集合,一个已打包的java应用。

artifact可以是一个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的默认配置会是这样:

另外关于Artifacts每个TAB的配置看:Artifacts--Intellij IDEA

总结,无论配置Facets、Artifacts还是标记Content Root,都是Intellij IDEA要求我们这样做的,以便其能识别这些文件并整合各插件实现功能。

到此这篇关于详解Intellij IDEA的Facets和Artifacts的文章就介绍到这了,更多相关IDEA的Facets和Artifacts内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解Intellij IDEA的Facets和Artifacts

    Facets: Facets表述了在Module中使用的各种各样的框架.技术和语言.这些Facets让Intellij IDEA知道怎么对待module内容,并保证与相应的框架和语言保持一致. 使用Facets能让我们下载并配置framework所必须的组件,会自动生成各种各样的描述符,并存储在适当的位置,等等. 大多数Facets可以无冲突得添加到Module中. 也有一些Facets是继承其他Facets的,这些Facets的添加就必须先添加他们的父Facets,这些Facets也要依赖In

  • 详解IntelliJ IDEA2020.1和JDK14体验

    IntelliJ IDEA2020.1和JDK14体验 IntelliJ IDEA新功能: 界面支持中文 但这里要注意的是不是原生支持中文,而是要安装jetbrains的官方插件,如下图 导航栏改进 上面的导航栏可以直接跳转到各个方法,这个以前要实现的话要点左侧的Structure,现在就方便多了 支持Javadoc的渲染 以前Javadoc看起来很费劲,要手动转换html格式,现在看起来就很方便了,还可以更改字体大小 以前 现在 新增主题和字体 主题: 字体: Lightedit模式 你可以把

  • 详解IntelliJ IDEA创建spark项目的两种方式

    Intellij是进行scala开发的一个非常好用的工具,可以非常轻松查看scala源码,当然用它来开发Java也是很爽的,之前一直在用scala ide和eclipse,现在换成intellij简直好用到飞起,但是有些人不知道怎么用intellij去创建一个spark项目,这里介绍两种 1.选择File->new Project->Java->Scala,这里scala版本是2.11.8 2 .之后一路点击next,直到finish,创建完的项目见下图,这时候已经可以创建scala文件

  • 详解IntelliJ IDEA 快捷键整合(大全)

    1.代码标签输入完成后,按Tab,生成代码. Ctrl+Alt+O 优化导入的类和包 Alt+Insert 生成代码(如get,set方法,构造函数等) 或者右键(Generate) fori/sout/psvm + Tab Ctrl+Alt+T 生成try catch 或者 Alt+enter CTRL+ALT+T 把选中的代码放在 TRY{} IF{} ELSE{} 里 Ctrl + O 重写方法 Ctrl + I 实现方法 Ctr+shift+U 大小写转化 ALT+回车 导入包,自动修正

  • 详解IntelliJ IDEA 2020 的Debug功能

    IntelliJ IDEA 作为工作最常用的开发工具之一,自然就成了我的主要升级对象,早上在逛IntelliJ IDEA 官网时,惊奇的发现居然有新版本更新,这让我有点喜出望外,没说的果断下载! IntelliJ IDEA 2020.1 这个版本除了修复日常bug,对调试器和事件探查器(Profiler)进行了改进,并引入了新的提交工具窗口(Commit toolwindow)以及禅模式(Zen Mode). debug升级 IntelliJ IDEA 2020.1 向调试器添加了数据流分析协助

  • 详解IntelliJ IDEA 自带的 HTTP Client 接口调用插件吊打 Postman

    1 前言 当我们在开发调试 Web 服务的时候,需要对接口进行调用测试:或者对接第三方系统时,需要调用远程第三方的接口进行联调.这时,相信大家首选的工具一般会是 Postman ,一款当今比较流行而且功能齐全的接口调用调试工具.如下所示: 不过我们一般使用 IntelliJ IDEA 代码编辑器来开发和调试 Web 服务,如果使用 Postman 工具来测试接口,不仅要在电脑上安装 Postman ,还需要在不同工具之间切换,比较麻烦.幸运地的是 IDEA 自带了一款简洁轻量级的接口调用插件,H

  • 详解Intellij IDEA 2017 debug断点调试技巧(总结)

    在调试代码的时候,你的项目得debug模式启动,也就是点那个绿色的甲虫启动服务器,然后,就可以在代码里面断点调试啦. 下面不要在意,这个快捷键具体是啥,因为,这个keymap是可以自己配置的,有的人keymap是mac版的,有的是Windows版的. 我的就是Windows,而且修改keymap为eclipse的keymap,因为我算是eclipse转过来的吧. 下面直接看图,详细解释,每一个按钮(按钮对应图中的数字)都是什么功能. 1,rerun XXX,这个就是直接重新跑某个程序. 2,这个

  • 详解IntelliJ IDEA 中如何配置多个jdk版本即(1.7和1.8两个jdk都可用)

    有时候需要看Java源码,但是 Java 1.7 和 Java 1.8的差别的关系,有时候你想查看不同jdk版本的Java源码. 或者你的项目需要测试不同Java jdk 版本的通用与否.那么这个编辑器支持多个版本的jdk同时存在,可以自由的切换 具体实现,看下图,一次配置,可以随便使用,省事 安心. 这是选择的是1.8版本的jdk 这是选择的是1.7的版本的jdk 一般像使用eclipse的时候,还得整个环境变量,但是我的这个1.7的时候,好像也没修改环境变量,我的那个测试用 的hellowo

  • 详解IntelliJ IDEA 自定义方法注解模板

    最近没啥事开始正式用Eclipse 转入 idea工具阵营,毕竟有70%的开发者在使用idea开发,所以它的魅力可想而知.刚上手大概有一天,就知道它为啥取名为 intelli(智能化)了,确实很智能,这还是一些小小的细节,当然idea也有它不足之处,就是我们今天要讲的"自定义方法注解模板",类注解模板可以很简单的设置,这里我就不重复,而网上很多关于自定义方法注解模板的文章大多是抄袭获取转发根本自己就没有验证,本文经过自己亲自验证有效. 1.File->settings->E

  • 详解Intellij IDEA中.properties文件中文显示乱码问题的解决

    首先,你可能会见到如下提示: File encoding is disabled because .properties file (see Settings|Editor|File Encodings|Properties Files) 具体如下图.没截全图,太大了,只截取了提示部分. 在这之前,我一直以为,我已经设置了我这个编辑器下的所有文件的编码格式都是utf-8,直到我这次要读取properties文件的时候,才惊讶的发现,我的properties文件并不都是utf-8的文件编码格式.然

随机推荐