> 文档中心 > Maven基础使用入门,读完这篇就够了

Maven基础使用入门,读完这篇就够了

Maven

  • 1. Maven简介
  • 2. Maven安装
  • 3. 使用Maven(命令行环境)
    • 3.1 根据坐标创建Maven工程
    • 3.2 执行 Maven 的构建命令
    • 3.3 依赖
  • 4. 使用Maven(IDEA)

1. Maven简介

Maven作为一个构建工具,不仅能帮我们自动化构建,还能够抽象构建过程,提供构建任务实现;它跨平台,对外提供了一致的操作接口,这一切足以使它成为优秀的、流行的构建工具
Maven不仅是构建工具,还是一个依赖管理工具和项目管理工具,它提供了中央仓库,能帮我们自动下载构件。

2. Maven安装

教程参考

3. 使用Maven(命令行环境)

3.1 根据坐标创建Maven工程

  1. 坐标
    (1)groupId:公司或组织的 id。如:com.atguigu.maven
    (2)artifactId:一个项目或者是项目中的一个模块的 id,即作为 Maven 工程的工程名
    (3)version:版本号
  2. 使用命令生成Maven工程
    mvn archetype:generate
    例如:
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 7:【直接回车,使用默认值】Define value for property 'groupId': com.atguigu.mavenDefine value for property 'artifactId': pro01-maven-javaDefine value for property 'version' 1.0-SNAPSHOT: :【直接回车,使用默认值】Define value for property 'package' com.atguigu.maven: :【直接回车,使用默认值】Confirm properties configuration: groupId: com.atguigu.maven artifactId: pro01-maven-java version: 1.0-SNAPSHOT package: com.atguigu.maven Y: :【直接回车,表示确认。如果前面有输入错误,想要重新输入,则输入 N 再回车。】
  1. 自动生成的pom.xml文件解读
 <groupId>com.atguigu.maven</groupId> <artifactId>pro01-maven-java</artifactId> <version>1.0-SNAPSHOT</version>      <packaging>jar</packaging> <name>pro01-maven-java</name> <url>http://maven.apache.org</url> <properties>   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties>  <dependencies>   <dependency>       <groupId>junit</groupId>     <artifactId>junit</artifactId>     <version>4.12</version>         <scope>test</scope>   </dependency> </dependencies>
  1. Maven核心概念:POM

POM:Project Object Model,项目对象模型。和 POM 类似的是:DOM(Document Object Model),文档对象模型。它们都是模型化思想的具体体现。
POM 理念集中体现在 Maven 工程根目录下 pom.xml 这个配置文件中。所以这个 pom.xml 配置文件就是 Maven 工程的核心配置文件。其实学习 Maven 就是学这个文件怎么配置,各个配置有什么用

3.2 执行 Maven 的构建命令

mvn -v 需要用管理员权限打开cmd或powershell

  1. 清理操作
    mvn clean
    效果:删除 target 目录
  2. 编译操作
    主程序编译:mvn compile
    测试程序编译:mvn test-compile
    主体程序编译结果存放的目录:target/classes
    测试程序编译结果存放的目录:target/test-classes
  3. 测试操作
    mvn test
    测试的报告存放的目录:target/surefire-reports
  4. 打包操作
    mvn package
    打包的结果——jar 包,存放的目录:target
  5. 安装操作mvn install
  6. 其它命令
    (1)查看当前 Web 工程所依赖的 jar 包的列表
    mvn dependency:list
    (2)以树形结构查看当前 Web 工程的依赖信息
    mvn dependency:tree

3.3 依赖

标签的位置:dependencies/dependency/scope
标签的可选值:compile/test/provided/system/runtime/import

Maven基础使用入门,读完这篇就够了Maven基础使用入门,读完这篇就够了

1. compile:通常使用的第三方框架的 jar 包这样在项目实际运行时真正要用到的 jar 包都是以 compile 范围进行依赖的。比如 SSM 框架所需jar包。
2. test:测试过程中使用的 jar 包,以 test 范围依赖进来。比如 junit。
3. provided:在开发过程中需要用到的“服务器上的 jar 包”通常以 provided 范围依赖进来。比如 servlet-api、jsp-api。而这个范围的 jar 包之所以不参与部署、不放进 war 包,就是避免和服务器上已有的同类 jar 包产生冲突,同时减轻服务器的负担。说白了就是:“服务器上已经有了,你就别带啦!”

4. 使用Maven(IDEA)

  1. 创建项目
    Maven基础使用入门,读完这篇就够了
    Maven基础使用入门,读完这篇就够了

  2. 配置Maven信息
    Maven基础使用入门,读完这篇就够了IDEA有自带的Maven,会随着IDEA的升级而升级,可能会出现各种意料之外的问题。所以我们需要配置本地安装的Maven。上图箭头①就是本地Maven安装目录,②是Maven下的配置文件③是安装Maven创建的仓库。

  3. 创建Java工程模块
    Maven基础使用入门,读完这篇就够了

  4. 创建web工程模块
    Maven基础使用入门,读完这篇就够了web工程需要在pom.xml中配置打包方式为war

<packaging>war</packaging>
  1. Web 设定
    虽然创建了Web工程模块,但是IDEA并不知道这是web模块,所以需要进行Web设定
    Maven基础使用入门,读完这篇就够了
    Maven基础使用入门,读完这篇就够了下面两个截图分别对应上面截图的两个路径。
    借助IDEA生成web.xml
    Maven基础使用入门,读完这篇就够了
    设置 Web 资源的根目录Maven基础使用入门,读完这篇就够了
    设置完成后如下图:
    Maven基础使用入门,读完这篇就够了

  2. 执行Maven命令
    Maven基础使用入门,读完这篇就够了