- 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模块
2. 项目构建
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。
通过配置pom.xml文件,就可以很方便地实现依赖添加。不需要自己去下载各种jar包,只要配置好依赖,Maven会自动帮你添加到项目中。
3. 项目构建工具Maven能够实现编译、运行单元测试、生成文档、打包和项目部署等一系列的工作,只需要一条命令,它就可以像流水线一样将这些繁琐的步骤自动完成,并且很快能得到最终结果。
4. Maven的四大特性 4.1 依赖管理系统
- Ant构建:最早的构建工具,基于IDE,当时是最流行的java构建工具,但其XML编写格式让XML文件特别大。
- Maven:项目对象模型,通过其描述信息来管理项目的构建,报告和文档的软件项目管理工具。填补了Ant的缺点,支持从网络上下载的功能,专注于依赖管理,使用Java编写。
- Gradle:结合了以上两者的优点,目前主要用来作为Andriod项目管理工具。
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 多模块构建
4.3 一致的项目机构在Maven中需要定义一个parent POM作为一组module的聚合POM。在该POM中可以使用
标签来定义一组子模块。parent POM不会又实际构建产出,但parent POM中的build配置以及依赖配置会自动继承给子module。
4.4 一致的构建模型和插件机制Maven制定了一套项目目录结构作为标准的Java项目结构,解决了不同IDE带来的文件目录不一致问题。
<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安装
5.2 Maven目录结构可以参考博客:https://blog.csdn.net/weixin_44080187/article/details/122933194
-
Maven顶级目录
src:该目录主要存放的是项目的源代码文件。
target:该目录是项目编译后产生的一个目录,主要存放的是编译后的.class文件。
pom.xml:该文件是Maven项目的核心配置文件,配置jar包的坐标信息。
-
src目录结构
5.3 修改settings.xml文件
- main:该目录下存放的是该项目的主要代码文件,下面有三个文件夹,分别用来存放:
Java:该目录用来存放Java的源代码文件
resources:该目录主要用来存放项目的一些配置文件(比如spring的xml配置文件)。
webapp:该目录相当于web项目下webcontent的目录,用来存放js、jsp、web.xml等文件.
- test:该目录用来存放项目的测试文件
Java:该目录主要存放该项目的测试所用的Java源代码。
resources:该目录存放测试使用的资源文件。
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>
命令 | 描述 |
---|---|
mvn -version | 显示版本信息 |
mvn clean | 对项目进行清理,删除target目录下编译的内容 |
mvn compile | 编译项目源代码 |
mvn test | 对项目进行运行测试 |
mvn package | 打包文件并存放到项目的target目录下,打包好的文件通常都是编译后的class文件 |
mvn install | 在本地仓库生成仓库的安装包,可供其他项目引用,同时打包后的文件放到项目的target目录下 |
mvn deploy | 将打包的文件发布到远程参考,提供其他人员进行下载依赖 |
mvn dependency:tree | 打印项目的整个依赖树 |
-
选择"File"—>“New” —>“Project”
-
选择"Maven",设置JDK版本,选择maven项目模板
Maven仓库有两类:远程仓库和本地仓库。Maven根据坐标寻找构件时,会先查看本地仓库,如果本地仓库存在,直接使用;如果不存在,就去远程仓库去寻找,找到之后下载到本地仓库使用。
远程仓库有三种:中央仓库、私服、其他公共库。
10. Maven构建多模块项目 10.1 创建maven_parent项目
- 中央仓库:默认配置下Maven下载jar包的地方。
- 私服:在局域网架设私有的仓库服务器,用其代理所有外部的远程仓库。
- 其他公共库:常用的阿里云仓库
10.2 创建maven_dao模块 10.3 创建maven_service模块父项目的创建可以参考本文 8.1 java项目的创建
10.4 创建maven_controller模块参考10.2创建maven_dao模块
参考10.2创建maven_dao模块
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)