Maven搭建笔记
1、maven作用
1、自动管理架包,自动下载依赖包,版本匹配
2、管理模块
2、Maven概念
是一个基于java平台的自动会购构建工具
自动会构建构建:将原材料(java、js、css、html) >>>>产品(可发布项目)
3、Maven功能
1、编译
2、测试:单元测试 开发人员 测试人员
3、报告:将测试结果显示
4、打包:将项目包含的多个文件压缩成一个文件
5、安装:将打成的包 放到 本地仓库 共其它使用
6、部署:将打成的包 放到 服务器上准备运行
7、清理
4、maven部署
1、在tomcat部署
2、在eclipse部署
5、配置maven
1、配置java home
2、配置maven hone %MAVEN_HOME%/
3、配置path %MAVEN_HOME%/bin
4、验证、测试mvn -v
6、配置本地仓库
1、conf
D:/apache-maven-3.6.3/mvnrep
7、maven 目录结构
1、约定 优于于 配置
2、maven 约定目录结构
3、main test
8、maven常见命令
C:\Windows\System32\cmd.exe
1、mvn compile >> 编译main目录
2、mvn test >>测试
3、mvn package >>打包 成war包
4、mvn install 往中央仓库里面放(gav决定)
5、mvn clean 删除编译文件
9、maven私服nexus
1、在公司范围以内就私服
10、maven依赖
1、
11、eclipse中使用Maven
1、eclipse配置maven
2、配置本地仓库 :设置settings.xml
3、配置maven依赖
junit
junit
4.0
test
12、mave生命周期 3个阶段
1、clean liftcycle :清理
2、default 默认(也是用得最多的)
3、
13、依赖下载jar包 >>update更新一下
1、依赖的范围、依赖的有效性
compile(默认) test provided
2、
例外:
commons-fileupload.jar commons-io.jar
3、jar包排除
org.springframework
spring-beans
14、依赖的传递性
15、整合项目(项目被项目用)中央仓库
1、项目1>中央仓库>项目2
2、项目2web.xml配置
3、创建测试类
16、maven依赖传递性
1、删除HelloWorldTiem
junit
junit
4.0
test
2、在HelloWorld
junit
junit
4.0
compile
3、juint
17、路径最短优先原则、覆盖
18、Maven覆盖原则 在(同一个web.xml配置则覆盖,不同web.xml则优先原则)
4依赖原则:为了防止冲突
a.路径最短优先原则
b.路径长度相同:
i.在同一个pom.xml文件中有2个相同的依赖(覆盖):后面声明的依赖 会覆盖前面声明的依赖 (严禁使用本情况,严禁在同一个pom中声明2个版本不同的依赖)
ii.如果是不同的 pom.xml中有2个相同的依赖(优先):则先声明的依赖 ,会覆盖后声明的依赖
(JDK只能够识别 source folder中的源码)
19、类路径和构建路径变换
20、统一版本
21、统一编码
22、Maven 继承的实习
1、在pom父工程建立
2、建立测试junit
3、子工程建立
23、
继承实现步骤:
1.建立父工程: 父工程的打包方式为pom
2.在父工程的pom.xml中编写依赖:
3.子类:
<parent>
<!-- 1加入父工程坐标gav -->
<groupId>org.lanqiao.maven</groupId>
<artifactId>B</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- 2当前工程的Pom.xml到父工程的Pom.xml之间的 相对路径 -->
<relativePath>../B/pom.xml</relativePath>
</parent>
4.在子类中 需要声明 :使用那些父类的依赖
<dependency>
<!-- 声明:需要使用到父类的junit (只需要ga) -->
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
聚合:
Maven项目能够识别的: 自身包含、本地仓库中的
Maven2依赖于Maven1,则在执行时:必须先将Maven1加入到本地仓库(install),之后才能执行Maven2
以上 前置工程的install操作,可以交由“聚合” 一次性搞定。。。
24、web工程
1、https://mvnrepository.com/
2、
javax.servlet
javax.servlet-api
3.0.1
provided