Maven
约 522 个字 19 行代码 预计阅读时间 2 分钟
简介
文件组织
Maven是当今Java开发中主流的依赖管理工具,Maven,IDEA 安装时自带了默认的Maven
使用Maven管理的java项目,它的目录结果大概是
项目根目录/
├── pom.xml
├── src/
│ ├── main/
│ │ ├── java/ # 主代码目录
│ │ └── webapp/ # Web 应用的资源目录(如果是 Web 项目)
│ └── test/
│ ├── java/ # 测试代码目录
│ └── resources/ # 测试资源文件
└── target/ # 构建输出目录(编译后的类文件、打包的 JAR/WAR 等)
- pom.xml是 Maven 项目的核心配置文件,定义了项目的依赖、插件、构建配置等信息
- src/main/java,存放项目的主代码(Java 源文件),按照包结构组织
- src/main/webapp,如果是一个 Web 项目(如 Servlet、Spring MVC 等),这个目录会存放 Web 相关的资源,如 WEB-INF/web.xml、JSP 文件、静态资源(HTML、CSS、JS 等)
- src/test/java,存放测试代码(如 JUnit 测试类),通常与主代码的包结构一致
- src/test/resources,存放测试所需的资源文件,如测试用的配置文件或数据文件
- target,这是 Maven 构建过程中生成的输出目录,包含编译后的类文件、打包的 JAR/WAR 文件、测试报告等。
jar
JAR(Java Archive)是一种用于打包Java类文件、资源文件和元数据的压缩文件格式,通常以.jar为扩展名。它基于ZIP格式,能够将多个文件合并为一个文件,便于分发和部署Java应用程序。
pom.xml
当执行一个任务或者目标时,Maven 会查找当前目录下的 POM,从其中读取所需要的配置信息,然后执行目标,Maven 会自动从中央仓库下载依赖并存储到本地仓库。在创建 POM 之前,首先确定工程组(groupId),及其名称(artifactId)和版本,在仓库中这些属性是工程的唯一标识。这里以获取mysql的驱动jar为例
<dependencies>
<dependency>
<!--工程组的标识,它在一个组织或者项目中通常是唯一的,公司或域名倒序+项目名-->
<groupId>mysql</groupId>
<!--工程的名称,模块名-->
<artifactId>mysql-connector-java</artifactId>
<!--工程的版本号-->
<version>8.0.31</version>
<!--scope标签代表指定依赖范围-->
<scope>runtime</scope>
</dependency>
...
</dependencies>