热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

详解IntellijIDEA的Facets和Artifacts

这篇文章主要介绍了IntellijIDEA的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内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


推荐阅读
  • ArcXML:互联网空间数据交换的专用语言
    ArcXML是一种专为ArcIMS平台设计的数据交换协议,基于XML标准,用于在不同组件之间传输和描述地理空间数据。本文将详细介绍ArcXML的背景、用途及其与XML的关系。 ... [详细]
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
  • PHP 中 preg_match 函数的 isU 修饰符详解
    本文详细解析 PHP 中 preg_match 函数中 isU 修饰符的具体含义及其应用场景,帮助开发者更好地理解和使用正则表达式。 ... [详细]
  • Spring Boot 中静态资源映射详解
    本文深入探讨了 Spring Boot 如何简化 Web 应用中的静态资源管理,包括默认的静态资源映射规则、WebJars 的使用以及静态首页的处理方法。通过本文,您将了解如何高效地管理和引用静态资源。 ... [详细]
  • 推荐几款高效测量图片像素的工具
    本文介绍了几款适用于Web前端开发的工具,这些工具可以帮助用户在图片上绘制线条并精确测量其像素长度。对于需要进行图像处理或设计工作的开发者来说非常实用。 ... [详细]
  • 随着技术社区的发展,越来越多的技术爱好者选择通过撰写博客来分享自己的学习经验和项目进展。本文将介绍一个具体案例,即将一套原本运行于Windows平台的代码成功移植到Linux(Redhat)环境下的过程与挑战。 ... [详细]
  • 本文详细介绍了如何正确安装Java EE SDK,并解决在安装过程中可能遇到的问题,特别是关于servlet代码在Apache Tomcat 10中无法运行的情况。 ... [详细]
  • 本文探讨了在C语言编程中,如何有效避免多文件项目中的重定义问题,通过合理使用预处理器指令和extern关键字,确保代码的健壮性和可维护性。 ... [详细]
  • 深入理解String.Format()方法的应用
    在.NET框架中,String.Format()方法是一种非常实用的工具,它能够帮助开发者以灵活多样的方式格式化字符串。本文将通过一个具体的示例,详细介绍如何利用String.Format()方法处理数值、日期时间和枚举类型的格式化。 ... [详细]
  • 在安装Ubuntu 12.10并尝试安装VMware Tools时,遇到了一个常见的错误提示:指定的路径不是有效的3.5.0-17-generic内核头文件路径。本文将提供解决这一问题的具体步骤。 ... [详细]
  • Windows 环境下安装 Git 并连接 GitHub 的详细步骤
    本文详细介绍了如何在 Windows 系统中安装 Git 工具,并通过配置 SSH 密钥实现与 GitHub 的安全连接。包括下载、安装、环境配置及验证连接等关键步骤。 ... [详细]
  • 探讨HTML中的DIV样式难题
    本文深入分析了HTML中常见的DIV样式问题,并提供了有效的解决策略。适合所有对Web前端开发感兴趣的读者。 ... [详细]
  • 详细指南:使用IntelliJ IDEA构建多模块Maven项目
    本文在前两篇文章的基础上,进一步指导读者如何在IntelliJ IDEA中创建和配置多模块Maven项目。通过详细的步骤说明,帮助读者掌握项目模块化管理的方法。 ... [详细]
  • 深入分析十大PHP开发框架
    随着PHP技术的发展,各类开发框架层出不穷,成为了开发者们热议的话题。本文将详细介绍并对比十款主流的PHP开发框架,旨在帮助开发者根据自身需求选择最合适的工具。 ... [详细]
  • 前端开发中的代码注释实践与规范
    本文探讨了前端开发过程中代码注释的重要性,不仅有助于个人清晰地回顾自己的编程思路,还能促进团队成员之间的有效沟通。文章将详细介绍HTML、CSS及JavaScript中的注释使用方法,并提出一套实用的注释规范。 ... [详细]
author-avatar
bale999_816
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有