程序员scholar 程序员scholar
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
npm

(进入注册为作者充电)

  • 程序员日常

    • 基于jmeter完成压测
    • 在IDEA中配置Git的Push键
    • 添加 VSCode右键快捷菜单
    • Typora+PicGo搭建博客图床
    • 系统重装日记
    • MarkDown语法总览
    • Markdown技巧笔记
    • 解决Win11右键菜单问题
    • 理解Project和Module
    • IntelliJ IDEA 项目结构
      • 1. 前言
      • 2. Project Structure(项目结构)剖析
        • 2.1 如何打开 Project Structure
        • 2.2 Project Settings(项目设置)
        • 2.3 Project(项目)页情况
        • 2.4 Module(模块)页情况
        • 2.4-1 新增依赖
        • 2.5 Libraries(第三方库)页情况
        • 2.6 Facets(框架)页情况
        • 2.7 Artifacts(打包)页情况
      • 3. 模块如何依赖其他 Module
      • 4. 总结
    • 前端免费接口
  • 开发工具
  • 程序员日常
scholar
2024-02-01
目录

IntelliJ IDEA 项目结构

# 1. 前言

在使用 IntelliJ IDEA 进行项目开发时,理解和管理项目结构是至关重要的。这不仅包括如何配置模块依赖,还涉及到如何识别和使用不同的框架,以及如何打包项目成可执行的 JAR 或 WAR 文件。本文将详细解析 IntelliJ IDEA 的项目结构管理,让你对 IDEA 的 Project Structure 有更深入的理解。

Project Structure 是开发过程中经常需要打开的窗口,但它涉及的配置较为复杂,设置不当可能会导致项目无法运行或编译错误。因此,对 Project Structure 进行详细了解和掌握,是有效管理 IDEA 项目的基础。


# 2. Project Structure(项目结构)剖析

# 2.1 如何打开 Project Structure

打开 Project Structure 窗口有以下几种方法:

  1. 通过菜单栏:

    • 选择 File -> Project Structure。

    菜单打开方式

  2. 通过快捷按钮:

    • 点击右上角的 Project Structure 图标。

    快捷按钮

  3. 通过快捷键:

    • 使用快捷键(如 Ctrl + Shift + Alt + S),这是推荐的方式,可以提高操作效率。

    项目结构窗口

# 2.2 Project Settings(项目设置)

Project Structure 窗口分为三部分:

  1. Project Settings(项目设置):包括对项目的全局配置。
  2. Platform Settings(平台设置):管理 SDK、全局库等。
  3. Problems:显示项目中存在的问题。

# 2.3 Project(项目)页情况

Project 页主要针对项目的全局配置,通常是设置项目的 SDK 版本、语言等级等。虽然这些配置大多会被各个模块的设置覆盖,但它们为整个项目提供了默认值。

  • SDK 版本:指定项目使用的 SDK(如 JDK),可以是不同的版本。
  • 语言等级:可以选择低于 SDK 版本的语言等级来编译代码,这对于多版本兼容性开发很有用。

Project 页


# 2.4 Module(模块)页情况

Module 页是 Project Structure 中最重要的一部分。它用于管理项目中的模块及其依赖、源代码结构等。

  1. Sources(源代码):管理模块的源代码目录和测试目录。
  2. Dependencies(依赖):管理模块的依赖,包括本地库、Maven 库和其他模块的依赖。

Module 页

# 2.4-1 新增依赖

向模块添加依赖有两种主要方式:

  1. 从本地添加依赖(Java Library):

    • 选择本地已有的 JAR 文件或目录作为依赖。

    本地依赖

  2. 从 Maven 仓库添加依赖(Maven Library):

    • 输入依赖的 GAV 信息或关键字,从 Maven 仓库中查找并添加依赖。

    Maven 依赖

添加依赖后,依赖关系将会反映在 .iml 文件中,同时也可以在代码中正常使用新添加的依赖。


# 2.5 Libraries(第三方库)页情况

Libraries 页用于管理项目级别的依赖库,这些库可以被项目中的多个模块共享使用。

  • Project Library:项目级别的库,所有模块均可访问。
  • Global Library:全局库,任何项目均可使用。

Libraries 页

在 Libraries 页添加的依赖可以通过选择作用的模块来指定它们的使用范围。


# 2.6 Facets(框架)页情况

Facets 页用于配置模块使用的框架和语言。它能够自动检测项目中使用的框架,并提供相应的配置选项。

  • Spring:配置 Spring 框架的相关信息。
  • Web:配置 Web 模块的相关设置。

Facets 页

通过 Facets,你可以直观地查看和配置哪些模块使用了哪些框架,并进行相应的管理。


# 2.7 Artifacts(打包)页情况

Artifacts 页用于配置模块的打包方式,如 JAR、WAR 等。它类似于 Maven 中的 package 任务,可以根据配置生成各种类型的包文件。

  • JAR:将模块打包成 JAR 文件。
  • WAR:将模块打包成 WAR 文件,用于 Web 应用程序。

Artifacts 页

配置好 Artifacts 后,可以通过 Build -> Build Artifacts 菜单进行打包。


# 3. 模块如何依赖其他 Module

在多模块项目中,模块之间通常存在依赖关系。可以通过 Module Dependency 来添加模块依赖。

  1. 在 Dependencies 页选择 Module Dependency。
  2. 选择需要依赖的模块并添加。

添加完成后,依赖关系会体现在 .iml 文件中,且可以在代码中直接引用依赖模块中的类和方法。

模块依赖


# 4. 总结

本文详细解析了 IntelliJ IDEA 的 Project Structure 的各个部分,并通过具体案例展示了如何管理模块依赖、配置框架和打包项目。理解这些基础概念和配置方式,对于有效管理大型项目至关重要。

通过掌握这些内容,你将能够更好地使用 IntelliJ IDEA,提升开发效率,并在处理复杂项目时游刃有余。希望这篇文章能够帮助你深入理解和使用 IntelliJ IDEA 的项目管理功能。

编辑此页 (opens new window)
上次更新: 2024/12/28, 18:32:08
理解Project和Module
前端免费接口

← 理解Project和Module 前端免费接口→

Theme by Vdoing | Copyright © 2019-2025 程序员scholar
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式