IntelliJ Platform SDK DevGuide

Edit page

Project Structure

<! - TODO根据目录分成部分 - >

本主题考虑基于* IntelliJ Platform *和相关主题的项目概念,例如_modules_,facets,libraries,SDK. 已经考虑了可用于管理项目和模块的项目结构和Java类.

##项目及其组件

本节简要讨论IDEA项目结构,项目组件和相关术语. 有关项目及其组件的更多信息,请参阅项目,模块,Library,Facet在* IntelliJ IDEA * Web帮助中.

###项目

在* IntelliJ Platform 中,_project_将所有源代码,库和构建指令封装到单个组织单元中. 使用 IntelliJ Platform SDK *所做的一切都是在项目的上下文中完成的. 项目定义称为_modules_和_libraries_的集合. 根据项目的逻辑和功能要求,您可以创建_single-module_或_multi-module_项目.

###模块

_module_是一个独立的功能单元,可以独立运行,测试和调试. 模块包括源代码,构建脚本,单元测试,部署描述符等.在项目中,每个模块可以使用特定的SDK或继承项目级别定义的SDK(参见SDK /sdk.md)本文档下面的部分). 模块可以依赖于项目的其他模块.

图书馆

_library_是模块所依赖的已编译代码(例如JAR文件)的存档.

  • IntelliJ Platform *支持三种类型的库:

  • 模块库:库类仅在此模块中可见,库信息记录在模块的.iml文件中.

  • 项目库:库类在项目中可见,库信息记录在项目的.ipr文件或.idea/libraries中.

  • 全局库:库信息记录在〜/.IntelliJIdea/config/options目录的applicationLibraries.xml文件中. 全局库与项目库类似,但对于不同的项目是可见的.

有关库的更多信息,请参阅Library.

SDK

每个项目都使用软件开发工具包(SDK). 对于Java项目,SDK称为JDK(Java Development Kit).

SDK确定用于构建项目的API库. 如果您的项目是多模块,则默认情况下项目SDK对于项目中的所有模块都是通用的.

(可选)您可以为每个模块配置单独的SDK.

有关SDK的更多信息,请参阅* IntelliJ IDEA * Web帮助中的使用SDK.

Facet

_facet_表示特定配置,特定于与模块相关联的特定框架/技术. 模块可以有多个方面. 例如. Spring特定配置存储在Spring facet中.

方面记录在Facet语言和框架特定指南.

有关每个实体的更多信息,请参阅:

Last modified: 9 May 2019