maven

一、核心作用(3个核心)
1.统一项目结构
2.维护项目的生命周期
3.维护jar包的依赖

二、核心基础(必懂3点)

  1. 核心配置文件:pom.xml
    Maven项目的唯一核心配置文件,位于项目根目录,所有依赖、构建规则、项目信息都在其中配置,IDEA中创建Maven项目会自动生成。

  2. 核心仓库(jar包的来源)
    Maven的jar包都存放在仓库中,加载顺序:本地仓库私服仓库(公司内部) → 中央仓库(Maven官方,全球唯一)
    本地仓库:默认在C盘用户目录.m2/repository,首次引入依赖会从中央仓库下载到本地,后续直接复用。

三、IDEA中高频操作(贴合你的开发场景)

你之前一直在IDEA中做MyBatis开发,以下是Maven在IDEA中的核心使用操作,直接落地:

  1. 创建Maven项目:IDEA→New→Project→Maven→选择JDK→直接创建(可勾选Create from archetype选骨架,如webapp骨架做Web项目);
  2. 添加依赖:在pom.xml<dependencies>标签内粘贴GAV依赖代码→右键项目→Maven→Reload Project(刷新Maven,自动下载jar包);
  3. 核心构建操作
    • 方式1(可视化):IDEA右侧Maven面板→展开项目→Lifecycle→双击对应命令(如compile/ package);
    • 方式2(命令行):IDEA底部Terminal→输入Maven命令(推荐,更高效);
  4. 打包MyBatis项目:执行package命令→在项目target目录生成xxx.jar包;
  5. 解决依赖问题:右键项目→Maven→Clean(清理编译文件)→Reload Project(重新加载),可解决90%的依赖爆红/缺失问题。

四、常用核心命令(开发高频6个)
命令在IDEA Terminal中直接执行,按构建流程排序,无需记复杂参数,基础开发用默认即可

命令 作用 常用场景
mvn clean 清理项目,删除target目录 重新构建前清理旧文件
mvn compile 编译Java源码(src/main/java) 验证代码语法是否正确
mvn test 执行测试用例(src/test/java) 单元测试
mvn package 打包项目(生成jar/war) 本地打包部署
mvn install 打包并安装到本地仓库 自定义依赖供本地其他项目使用
mvn deploy 打包并发布到私服仓库 公司内部项目发布

五、MyBatis项目极简POM.xml示例

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
    <junit-version>5.8.2</junit-version>
    <mysql-jdbc-version>8.0.33</mysql-jdbc-version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <version>${junit-version}</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>org.junit.jupiter</groupId>
          <artifactId>junit-jupiter-params</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-params</artifactId>
      <version>5.8.1</version>
    </dependency>

    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${mysql-jdbc-version}</version>
      <scope>compile</scope>
    </dependency>

    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.19</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.30</version>
      <scope>compile</scope>
    </dependency>

    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.30</version>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>2.0.17</version>
      <scope>compile</scope>
    </dependency>

    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
      <scope>compile</scope>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>2.0.17</version>
      <type>pom</type>
      <scope>compile</scope>
    </dependency>

  </dependencies>
posted @ 2026-01-28 08:51  doremi_h2  阅读(4)  评论(0)    收藏  举报