Deep Dive
本教程的前四章旨在为初学者提供IntelliJ的基本概述。 本节深入探讨了IntelliJ,并讨论了有关项目,其格式以及其他内容的更多信息。
了解项目
项目是您正在使用的应用程序或软件。 它可以包含多个模块,类,库,配置等。 它是层次结构中最顶层的元素。
了解模块
模块在“项目”下面有一个梯级。 模块是一个独立的实体,可以独立于其他模块进行编译,调试和运行。 单个项目可以包含多个模块。 您可以随时在项目中添加或删除模块。
除此之外,我们还可以导入现有模块。 请按照以下步骤导入现有模块 -
- 转到文件→项目结构。
- 选择模块,然后单击加号图标。
- 它将显示导入模块的选项。
了解文件夹
Content root是包含组成模块的所有文件的文件夹。 一个模块可以有多个内容文件夹。 文件夹分为以下类型 -
Sources - 通过将此类别分配给文件夹,我们指示IntelliJ此及其子文件夹包含java源代码,并且应将其编译为编译过程的一部分。
Tests - 通过将此类别分配给文件夹,我们指示IntelliJ它是单元测试的位置。 此文件夹可以从Sources文件夹中访问类。
Resources - 它表示项目中使用的各种资源文件,例如图像,XML和属性文件。 在编译过程中,此文件夹的内容将原样复制到输出文件夹。
Excluded - IntelliJ不会将排除文件夹中的内容编入索引。 这意味着IntelliJ不会提供代码完成建议和其他提示。 例如,默认情况下排除输出目录和目标目录。
Test resources - 这类似于资源并用于单元测试。
了解图书馆
库是不同类的汇编。 库使代码可重用。 在Java中,库可以包含在ZIP,Jar或简单文件夹中。 我们可以在三个不同的级别定义库。 级别是 - 全局,项目和模块级别。
Global level - 由所有项目共享。
Project level - 由Project level的所有模块共享。
Module level - 由这些模块的类共享。
理解方面
方面是模块的扩展。 他们增加了对框架和技术的支持。 将facet添加到模块时,IntelliJ会识别它添加支持。 例如,编辑器中的提示和帮助,窗口栏中的新工具,依赖性下载等。 您可以从File → Project Structure窗口添加构面,如下所示 -
Artifacts
工件是项目的输出。 它可以是简单的JAR文件,Java EE应用程序或Java EJB应用程序。 如果我们使用Gradle或Maven等外部构建工具,那么IntelliJ会自动为它们添加工件。 可以通过导航到File → Project Structure来创建工件,如下所示 -
导入现有项目
在本节中,我们将了解如何导入现有项目。 我们可以通过两种方式导入项目 -
- 从现有来源导入
- 从构建模型导入它。
目前,它支持Gradle和Maven构建工具。 要导入项目 -
- 从现有源导航到文件→新建→项目。
- 选择现有项目的目录,Maven的pom.xml或Gradle的构建脚本。
- 单击“确定”按钮。
项目格式
IntelliJ支持两种类型的项目格式,一种是directory-based ,另一种是directory-based file-based 。 基于目录的格式是较新的建议。 默认情况下,IntelliJ创建基于目录的项目格式。 您可以在创建新项目时选择项目格式。 在新项目窗口中,只需单击更多设置,如下图所示 -
基于目录的项目格式
此格式有助于在项目中创建构思文件夹,并将所有配置文件保留在该文件夹中。 设置分组到xml文件中。 例如,它将创建misc.xml, modules.xml, workspace.xml等。 以下屏幕截图将帮助您了解其工作原理 -
基于文件的项目格式
它将使用..ipr和wpr扩展创建两个项目文件。 ipr文件将包含项目特定的设置,wpr文件将包含特定于工作区的设置。
要将基于文件的项目转换为基于目录的项目,请转到File → Save as a Directory-Based format 。
基于目录和基于文件的项目格式
与基于文件的项目格式相比,基于目录的项目格式将设置存储在具有有意义名称的单独文件夹中。 其他差异是 -
相关设置存储在单个文件中,可以更轻松地以基于目录的项目格式进行管理。
如果文件夹包含idea子文件夹,则IntelliJ会识别该项目。 因此,您没有明确选择ipr项目。
基于目录的项目格式将设置分成多个文件,因此更容易选择要存储在版本控制系统中的特定类型的设置。