Deep Dive

优质
小牛编辑
125浏览
2023-12-01

本教程的前四章旨在为初学者提供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等。 以下屏幕截图将帮助您了解其工作原理 -

基于目录的项目格式

基于文件的项目格式

它将使用..iprwpr扩展创建两个项目文件。 ipr文件将包含项目特定的设置,wpr文件将包含特定于工作区的设置。

基于文件的项目格式

要将基于文件的项目转换为基于目录的项目,请转到File → Save as a Directory-Based format

基于目录和基于文件的项目格式

与基于文件的项目格式相比,基于目录的项目格式将设置存储在具有有意义名称的单独文件夹中。 其他差异是 -

  • 相关设置存储在单个文件中,可以更轻松地以基于目录的项目格式进行管理。

  • 如果文件夹包含idea子文件夹,则IntelliJ会识别该项目。 因此,您没有明确选择ipr项目。

  • 基于目录的项目格式将设置分成多个文件,因此更容易选择要存储在版本控制系统中的特定类型的设置。