更新时间:2018-09-12 来源:黑马程序员JavaEE培训学院 浏览量:
JavaEE就业笔记串讲---Maven-part2
1Maven依赖管理
1.1坐标定义
maven对每个工程通过坐标管理。
groupId:定义当前Maven项目名称
artifactId:定义项目模块
version:定义当前项目的当前版本
1.2查询其它构件的坐标
1、通过互联网搜索
2、通过本地仓库搜索(学习)
依赖范围scope(重点理解)
1、compile 编译、测试、运行,A在编译时依赖B,并且在测试和运行时也依赖。
strus-core、spring-beans
打到war包或jar包。
2、provided 编译、和测试有效,A在编译和测试时需要B。
比如:servlet-api就是编译和测试有用,在运行时不用(tomcat容器已提供)。
不会打到war。
3、runtime:测试、运行有效。
比如:jdbc驱动包 ,在开发代码中针对java的jdbc接口开发,编译不用。
在运行和测试时需要通过jdbc驱动包(mysql驱动)连接数据库,需要的!!
会打到war。
4、test:只是测试有效,只在单元测试类中用。
比如:junit
不会打到war。
按照依赖强度,由强到弱来排序:(理解)
compile> provided> runtime> test
1.3传递依赖(理解)
1.3.1什么传递依赖
A依赖B,B依赖C,在A中加入B的坐标,自动导入C的jar包,称C为A传递依赖。
1.3.2传递依赖与范围(理解)
1、纵坐标:直接依赖
A依赖B,B是A的直接依赖。
在A的pom.xml中添加B的坐标。
2、横坐标:传递依赖
B依赖C,C是A的传递依赖。
3、中间部分:传递依赖的范围,A依赖C的范围。
1.4小结
maven是项目管理工具,使用maven进行java项目构建!
每个maven工程包括一个pom.xml文件。
pom.xml基本配置:
1、坐标
groupid 项目名称
artifactid:模块名称
version:模块版本
2、依赖管理
dependency
groupid 项目名称
artifactid:模块名称
version:模块版本
3、build,构建配置
主要配置插件,编译、tomcat插件。
maven的运行依赖仓库包括:
1、本地仓库,缓存
2、远程仓库
3、中央仓库,是特殊的远程仓库,是maven软件默认远程仓库的地址
当向工程加入一个依赖,先从本地仓库找,如果找不到再从远程仓库找。
依赖管理:
1、依赖范围
由强到弱:compile(编译、测试、运行有效)》provided(编译、测试)》runtime(测试、运行有效)》test(测试)
2、传递依赖
A依赖B,B依赖C,C就是A的传递依赖。
3、传递依赖范围
1.5依赖版本冲突解决
1.5.1依赖调解原则(了解)
maven自己提供依赖调解原则:
1、第一声明者优先原则
2、路径近者优先原则
1.5.2锁定版本(推荐使用)
2使用maven构建ssh整合工程
2.1创建maven(web工程)
2.1.1选择原型,web工程要选择webapp.
2.1.2引入servlet-api的jar
2.1.3修改web.xml
[XML] 纯文本查看 复制代码
?
1
2
3
4
5
6
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee [url=http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd]http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd[/url]"
id="WebApp_ID" version="2.5">
</web-app>
2.2准备环境
数据库环境:
创建maven数据库:
导入脚本
2.3pom.xml(重点)
加入各层依赖jar包:
1)锁定依赖构件的版本
2)添加依赖
2.4工程结构
2.5运行web工程
tomcat:run:使用tomcat6和maven集成插件运行。