写给初次用IDEA的新人

在初次使用IntelliJ IDEA 中,很多新人可能不是很理解一个项目的大体架构,本篇文章将对此进行简略讲解。

项目文件从大到小的核心包含关系如下:

  1. Project(项目)

这是最顶层的容器,对应一个完整的开发任务,可包含多个Module(模块),每个模块可以有独立的语言、依赖和编译配置。

  1. Module(模块)

项目的子单元,用于拆分大型项目的功能模块,每个模块下会包含Directory(目录)和各类文件,模块有自己的 .iml 配置文件。

  1. Directory(目录)

用于组织文件的文件夹,比如 src(源代码目录)、lib(依赖库目录)等,目录可嵌套,还能被标记为特殊用途(如 Sources Root、Resources Root)。而包就在此处。它的本质就是目录下的嵌套目录结构。

  1. File(文件)

最基础的单位,包含源代码文件(如 .java、.cpp)、配置文件(如 pom.xml、application.yml)、资源文件等。

补充说明:

• IDEA 里的 Package(包) 本质是 src 目录下的嵌套目录,用于归类 Java 类文件,属于 Directory 层级的特殊应用。

• 单个小项目通常只需要一个 Module,而大型项目(如分布式系统)会拆分成多个 Module 来解耦。

相关推荐
身如柳絮随风扬1 小时前
多数据源切换实战:从业务场景到3种实现方案全解析
java·分布式·微服务
Java小生不才1 小时前
Spring AI文生音
java·人工智能·spring
凯尔萨厮1 小时前
Springboot2.x+Thymeleaf项目创建
java
fish_xk2 小时前
map和set
java·开发语言
李崧正2 小时前
Java技术分享:Lambda表达式与函数式编程
java·开发语言·python
老了,不知天命2 小时前
鳶尾花項目JAVA
java·开发语言·机器学习
二哈赛车手2 小时前
新人笔记---实现简易版的rag的bm25检索(利用ES),以及RAG上传时的ES与向量数据库双写
java·数据库·笔记·spring·elasticsearch·ai
winner88812 小时前
从零吃透C++命名空间、std、#include、string、vector
java·开发语言·c++
AI人工智能+电脑小能手2 小时前
【大白话说Java面试题】【Java基础篇】第26题:Java的抽象类和接口有哪些区别
java·开发语言·面试
bzmK1DTbd2 小时前
SOLID原则在Java中的实践:单一职责与开闭原则
java·开发语言·开闭原则