Java 项目结构规范
良好的项目结构是软件开发的基础。理解标准的项目结构规范有助于团队协作和项目维护。本章将详细介绍 Java 项目的标准结构。
Maven 标准目录结构
Maven 目录结构
Maven 标准目录结构是 Java 项目最常用的结构。
project-root/
├── pom.xml # Maven 配置文件
├── src/
│ ├── main/
│ │ ├── java/ # 主代码目录
│ │ │ └── com/
│ │ │ └── example/
│ │ │ └── App.java
│ │ ├── resources/ # 资源文件目录
│ │ │ ├── application.properties
│ │ │ └── log4j.xml
│ │ └── webapp/ # Web 应用资源(如果适用)
│ │ └── WEB-INF/
│ └── test/
│ ├── java/ # 测试代码目录
│ │ └── com/
│ │ └── example/
│ │ └── AppTest.java
│ └── resources/ # 测试资源文件
│ └── test-config.properties
└── target/ # 编译输出目录(自动生成)
├── classes/
└── test-classes/
目录说明
主要目录:
src/main/java:主源代码目录src/main/resources:主资源文件目录src/test/java:测试源代码目录src/test/resources:测试资源文件目录target:编译输出目录(Maven 自动生成)
src/main/java / src/test/java
主代码目录(src/main/java)
src/main/java 存放项目的主要源代码。
包结构示例:
src/main/java/
└── com/
└── example/
└── myapp/
├── Main.java # 主类
├── model/ # 数据模型
│ ├── User.java
│ └── Product.java
├── service/ # 业务逻辑
│ ├── UserService.java
│ └── ProductService.java
├── dao/ # 数据访问
│ ├── UserDao.java
│ └── ProductDao.java
├── controller/ # 控制器(Web 应用)
│ └── UserController.java
├── util/ # 工具类
│ └── StringUtils.java
└── config/ # 配置类
└── AppConfig.java
测试代码目录(src/test/java)
src/test/java 存放测试代码,结构与主代码对应。
src/test/java/
└── com/
└── example/
└── myapp/
├── service/
│ ├── UserServiceTest.java
│ └── ProductServiceTest.java
├── dao/
│ └── UserDaoTest.java
└── util/
└── StringUtilsTest.java