- 畅销套餐
- 精选套餐
- 人气套餐
- 尊享套餐
- 高薪套餐
- 课程介绍
- 课程大纲
适合人群:
Java工程师,Java初学者
你将会学到:
工程依赖管理视频教程
课程简介:
1 版本控制工具应该具备的功能
2 版本控制简介
2.1版本控制
工程设计领域中使用版本控制管理工程蓝图的设计过程。在 IT 开发过程中也可以
使用版本控制思想管理代码的版本迭代。
2.2版本控制工具
思想:版本控制
实现:版本控制工具
集中式版本控制工具:
CVS、SVN、VSS……
Maven的核心概念。
1. Maven 插件和目标 (Plugins and Goals)
-- Maven构建项目由一组标准插件组成。
-- 一个maven插件是由一个或者多个目标组成的。
-- 一个目标是一个明确的任务,它可以作为单独的目标运行,
或者作为一个大的构建的一部分和其它目标一起运行。
一个目标是Maven中的一个“工作单元”。
目标的例子包括Compiler插件中的compile目标,它用来编译项目中的所有源文件,
或者Surefire插件中的test目标,用来运行单元测试。
2. Maven 坐标 (Coordinates)
坐标解释(groupId、artifactId、version):
groupId: 创建这个项目的组织名称(一般为组织的域名反写)
artifactId: 表示一个单独项目的唯一标识符(项目名或jar包)
version:项目的版本号
注意:groupId、artifactId、version它们标识了一个唯一的项目。
3. Maven 资源库(Repositories)
什么是Maven资源库? 资源存储的地方,即所有项目的jar库,插件库。
Maven库中有三种类型
-- local : 本地库
-- remote : 远程仓库(代理仓库也就是自已的私服)
-- central : 中央存储库(http://repo1.maven.org/maven2/)
Maven的依赖jar包搜索序列
第一种(如果没有配置远程仓库):本地库 -→ 中央库
第二种(有配置远程仓库):本地库 -→ 远程库 -→ 中央库
4. Maven 依赖管理 (Dependency Management)
a、Transitive Dependency (传递依赖)
你需要A jar包, A又依赖B ,你申明了A ,B就会自动拉取下来。
你的项目依赖于A,A又依赖于B。你的项目是否要声明你依赖于B?
Maven的回答是它帮你自动管理这种依赖的传递,
你不需要声明你依赖于B,由Maven来做。
b、Dependency Scope (依赖范围)
举例来说,你开发时需要做测试,你需要依赖于junit的jar,但是部署应用时并不需要
它,
因为单元测试不会在生产环境上跑,也就是说最终打包的jar或者war不包含junit的
jar。
又如你开发web程序,你的servlet/jsp进行编译需要依赖于servlet-jsp的标准
api(J2EE的jar),
但是部署时也是不需要它的,因为你的应用服务器肯定有这些东西。
因此,Maven考虑了6中可能的scope供选择:
- compile: 默认的scope。编译、测试、打包全都需要。compile参与依赖传递,就是说,
你的项目A依赖于B(依赖scope是compile),项目C依赖于你的项目A,那么C也就依赖于B。
- provided: 表示JDK或者容器会在Runtime时提供这些(jar),
如上面说到的servlet api。provided的东西在编译和测试时会用到,不参与传递依赖。
- runtime: 表示编译时不需要,但测试和运行时需要,最终打包时会包含进去。
- test: 只用于测试阶段(测试的编译和测试的运行),典型的就是junit的jar。
- system: 和provided类似,但要求jar是你的系统里已有的,
不会在repository里找,如rt.jar,tools.jar这些。
c. 解决依赖冲突(排除指定的依赖)
5. 只打jar包: mvn jar:jar
6. 只打war包: mvn war:war
课程大纲-工程依赖管理视频教程
第1章GIT专题(2小时49分钟16节)
第2章Maven专题(2小时37分钟5节)
“刘英杰”老师的其他课程更多+