Maven 入门教程

本文详细介绍了Maven的下载安装、环境变量配置、更改本地仓库位置、镜像仓库配置以及常用命令。同时,讲解了如何使用Maven创建不同类型的工程,包括Java和Web工程,并在IDEA中创建Maven项目。此外,还讨论了Maven的依赖管理、生命周期和插件配置,帮助开发者更好地理解和使用Maven进行项目构建。
摘要由CSDN通过智能技术生成

下载安装

  • 官网:https://maven.apache.org/
  • 下载地址:https://maven.apache.org/download.cgi

环境变量配置

  • 依赖 Java,需要配置 JAVA_HOME
  • 配置 MAVEN_HOME
  • 测试:mvn

配置

更改本地仓库位置

  • settings.xml
    <localRepository>仓库位置</localRepository>
    

镜像仓库配置

  • setting.xml
        <mirror>
          <id>aliyunmaven</id>
          <mirrorOf>central</mirrorOf>
          <name>aliyun</name>
          <url>https://maven.aliyun.com/repository/public</url>
        </mirror>
    

Maven 命令

  • 编译命令:mvn compile
  • 清理命令:mvn clean
  • 测试命令:mvn test
  • 打包命令:mvn package
  • 安装到本地仓库:mvn install

Maven 工程

插件创建工程

  • 创建工程
    mvn archetype:gengrate
    	-DgroupId={project-packaging}
    	-DartifactId={project-name}
    	-DarchetypeArtifactId=maven-archetype-quickstart
    	-DinteractiveMode=false
    
  • 创建 Java 工程
    mvn archetype:generate -DgroupId=com.ruochen -DartifactId=java-project -DarchetypeArtifactId=maven-archetype-quickstart -Dversion=0.0.1-snapshot -DinteractiveMode=false
    
  • 创建 web 工程
    mvn archetype:generate -DgroupId=com.ruochen -DartifactId=web-project -DarchetypeArtifactId=maven-archetype-webapp -Dversion=0.0.1-snapshot -DinteractiveMode=false
    

IDEA 创建 Maven 工程

  • 创建一个 Empty Project
  • 在 settings 中修改为自己的路径
    在这里插入图片描述
  • 创建一个 maven module
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

骨架创建 Maven 工程

  • new module
    在这里插入图片描述

Web 工程

  • new module
    在这里插入图片描述

依赖管理

  • 依赖传递

    • 直接依赖:在当前项目中通过依赖配置建立的依赖关系
    • 间接依赖:被资源的资源如果依赖其他资源,当前项目间接依赖其他资源
  • 依赖传递冲突问题

    • 路径优先:当依赖中出现相同的资源时,层级越深,优先级越低,层级越浅,优先级越高
    • 声明优先:当资源在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的
    • 特殊优先:当同级配置了相同资源的不同版本,后配置的覆盖先配置的
  • 依赖范围
    在这里插入图片描述

  • 依赖范围传递性
    在这里插入图片描述

生命周期与插件

构建项目生命周期

在这里插入图片描述

  • clean:清理工作
    • pre-clean:执行一些需要在clean之前完成的工作
    • clean:移除所有上一次构建生成的文件
    • post-clean:执行一些需要在clean之后立刻完成的工作
  • default:核心工作,例如编译、测试、打包、部署等
    在这里插入图片描述
  • site:产生报告,发布站点等
    在这里插入图片描述

插件

  • 插件与生命周期内的阶段绑定,在执行到对应的生命周期时执行对应的插件功能
  • 默认maven在各个生命周期上绑有预设的功能
  • 通过插件可以自定义其他功能
  • eg
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>2.2.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <phase>generate-test-resources</phase>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

若尘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值