首页技术栈归档照片墙音乐日记随想收藏夹友链留言关于

Maven 基础入门

写作时间:2026-07-08

Maven 基础入门

概述

Maven 是 Java 生态最主流的项目构建和依赖管理工具,提供了标准化的项目结构和构建生命周期。

标准目录结构

project-root/
├── pom.xml                  # 核心配置文件
├── src/
│   ├── main/
│   │   ├── java/            # 源代码
│   │   └── resources/       # 资源配置文件
│   └── test/
│       ├── java/            # 测试代码
│       └── resources/       # 测试资源
└── target/                  # 构建输出目录

pom.xml 核心配置

<project>
  <!-- GAV 坐标 -->
  <groupId>com.example</groupId>
  <artifactId>my-app</artifactId>
  <version>1.0.0</version>
  <packaging>jar</packaging>

  <!-- 属性 -->
  <properties>
    <java.version>17</java.version>
    <spring.version>3.2.5</spring.version>
  </properties>

  <!-- 依赖 -->
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <version>${spring.version}</version>
    </dependency>
  </dependencies>
</project>

依赖管理

依赖范围 scope

scope classpath 打包 示例
compile(默认) 编译+运行 ✓ spring-web
provided 编译 ✗ servlet-api
runtime 运行 ✓ mysql-connector
test 测试 ✗ junit
system 编译+运行 ✗ 本地 jar
<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <scope>provided</scope>  <!-- 编译时需要,运行时已生成代码 -->
</dependency>

依赖传递与排除

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
  <exclusions>
    <exclusion>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
    </exclusion>
  </exclusions>
</dependency>

生命周期

Maven 三大生命周期:

Clean

  • pre-clean → clean → post-clean

Default(构建)

  • validate → compile → test → package → verify → install → deploy

Site

  • pre-site → site → post-site → site-deploy
mvn clean           # 清理 target 目录
mvn compile         # 编译源代码
mvn test            # 运行测试
mvn package         # 打包(jar/war)
mvn install         # 安装到本地仓库
mvn deploy          # 发布到远程仓库

# 组合
mvn clean package   # 先清理再打包
mvn clean install -DskipTests  # 跳过测试
avatar

yuanyourdomain

写代码,做研究,记录生活。

RECOMMENDED

MyBatis 动态 SQL

2026-07-08

Nginx 基础入门

2026-07-08

Maven 多模块与私服

2026-07-08