Maven

Maven,第1张

文章目录
    • 1. Maven 简介
    • 2. 项目构建
    • 3. 项目构建工具
    • 4. Maven的四大特性
      • 4.1 依赖管理系统
      • 4.2 多模块构建
      • 4.3 一致的项目机构
      • 4.4 一致的构建模型和插件机制
    • 5. Maven的安装配置和目录结构
      • 5.1 Maven安装
      • 5.2 Maven目录结构
      • 5.3 修改settings.xml文件
    • 6. Maven常用命令
    • 7. IDEA集成Maven环境
    • 8.Maven项目的创建
      • 8.1 java项目的创建
    • 9. Maven仓库的基本概念
    • 10. Maven构建多模块项目
      • 10.1 创建maven_parent项目
      • 10.2 创建maven_dao模块
      • 10.3 创建maven_service模块
      • 10.4 创建maven_controller模块

1. Maven 简介
  • Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。

  • Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。

  • 通过配置pom.xml文件,就可以很方便地实现依赖添加。不需要自己去下载各种jar包,只要配置好依赖,Maven会自动帮你添加到项目中。

2. 项目构建

Maven能够实现编译、运行单元测试、生成文档、打包和项目部署等一系列的工作,只需要一条命令,它就可以像流水线一样将这些繁琐的步骤自动完成,并且很快能得到最终结果。

3. 项目构建工具
  • Ant构建:最早的构建工具,基于IDE,当时是最流行的java构建工具,但其XML编写格式让XML文件特别大。
  • Maven:项目对象模型,通过其描述信息来管理项目的构建,报告和文档的软件项目管理工具。填补了Ant的缺点,支持从网络上下载的功能,专注于依赖管理,使用Java编写。
  • Gradle:结合了以上两者的优点,目前主要用来作为Andriod项目管理工具。
4. Maven的四大特性 4.1 依赖管理系统

Maven引入了一个新的依赖管理系统(jar包管理),jar升级时直接修改配置文件即可。在Java世界中,可以使用groupId、artifactId、version组成的Coordination(坐标)唯一标识一个依赖。

  • groupId:定义当前Maven项目隶属的实际项目-公司名称。
  • artifactId:定义实际项目中的一个Maven模块-项目名。
  • version:定义Maven项目当前的版本号。

Maven依赖库:https://mvnrepository.com/

一个依赖引用的例子如下:

<dependency>
    <groupId>javax.servletgroupId>
    <artifactId>javax.servlet-apiartifactId>
    <version>3.1.0version>
dependency>
4.2 多模块构建

在Maven中需要定义一个parent POM作为一组module的聚合POM。在该POM中可以使用标签来定义一组子模块。parent POM不会又实际构建产出,但parent POM中的build配置以及依赖配置会自动继承给子module。

4.3 一致的项目机构

Maven制定了一套项目目录结构作为标准的Java项目结构,解决了不同IDE带来的文件目录不一致问题。

4.4 一致的构建模型和插件机制
<plugin>
	<groupId>org.mortbay.jettygroupId>
    <artifactId>maven-jetty-pluginartifactId>
    <version>6.1.25version>
    <configuration>
    	<scanIntervalSeconds>10scanIntervalSeconds>
        <contextPath>/testcontextPath>
    configuration>
plugin>
5. Maven的安装配置和目录结构 5.1 Maven安装

可以参考博客:https://blog.csdn.net/weixin_44080187/article/details/122933194

5.2 Maven目录结构
  • Maven顶级目录

src:该目录主要存放的是项目的源代码文件。

target:该目录是项目编译后产生的一个目录,主要存放的是编译后的.class文件。

pom.xml:该文件是Maven项目的核心配置文件,配置jar包的坐标信息。

  • src目录结构

  • main:该目录下存放的是该项目的主要代码文件,下面有三个文件夹,分别用来存放:

​ Java:该目录用来存放Java的源代码文件

resources:该目录主要用来存放项目的一些配置文件(比如spring的xml配置文件)。

webapp:该目录相当于web项目下webcontent的目录,用来存放js、jsp、web.xml等文件.

  • test:该目录用来存放项目的测试文件

Java:该目录主要存放该项目的测试所用的Java源代码。

​ resources:该目录存放测试使用的资源文件。

5.3 修改settings.xml文件

settings.xml文件位置:maven安装目录——>conf文件夹——>settings.xml

  • 修改本地仓库位置(默认在C盘)

    
    <localRepository>D:/Environment/m2/repositorylocalRepository>
    注意:"/"不要写反了
    
  • 添加阿里镜像,加快依赖下载

    
    <mirror>
        <id>nexus-aliyunid>
        <mirrorOf>centralmirrorOf>
        <name>Nexus aliyunname>
        <url>http://maven.aliyun.com/nexus/content/groups/publicurl>
    mirror>
    
6. Maven常用命令
命令描述
mvn -version显示版本信息
mvn clean对项目进行清理,删除target目录下编译的内容
mvn compile编译项目源代码
mvn test对项目进行运行测试
mvn package打包文件并存放到项目的target目录下,打包好的文件通常都是编译后的class文件
mvn install在本地仓库生成仓库的安装包,可供其他项目引用,同时打包后的文件放到项目的target目录下
mvn deploy将打包的文件发布到远程参考,提供其他人员进行下载依赖
mvn dependency:tree打印项目的整个依赖树
7. IDEA集成Maven环境

8.Maven项目的创建 8.1 java项目的创建
  • 选择"File"—>“New” —>“Project”

  • 选择"Maven",设置JDK版本,选择maven项目模板

9. Maven仓库的基本概念

Maven仓库有两类:远程仓库和本地仓库。Maven根据坐标寻找构件时,会先查看本地仓库,如果本地仓库存在,直接使用;如果不存在,就去远程仓库去寻找,找到之后下载到本地仓库使用。

远程仓库有三种:中央仓库、私服、其他公共库。

  • 中央仓库:默认配置下Maven下载jar包的地方。
  • 私服:在局域网架设私有的仓库服务器,用其代理所有外部的远程仓库。
  • 其他公共库:常用的阿里云仓库
10. Maven构建多模块项目 10.1 创建maven_parent项目

父项目的创建可以参考本文 8.1 java项目的创建

10.2 创建maven_dao模块

10.3 创建maven_service模块

参考10.2创建maven_dao模块

10.4 创建maven_controller模块

参考10.2创建maven_dao模块

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/877679.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存