Maven实现版本控制和依赖管理_2 pom.xml配置项
Maven实现版本控制和依赖管理_2 pom.xml配置项
作者:田超凡
版权所有,转载请注明原作者,仿冒侵权必究法律责任
maven和SVN区别
更新:就是复制一份放到每个人的项目中
2、学生的解答 复习
3、
Test:也就是说如果在dependency里面如果范围的作用域是test,那么其他项目引用这个项目的时候(引入这个项目的依赖)这个test的作用域的jar 不会被引用过去,test还有一个特性在测试的时候
才会生效,在编译或者打包的时候 这个代码是被忽略的,如有些jar只是当前项目的测试,打包发布的时候不需要,就可以指定test
Compile就是默认行为,打包、编译、发布都会注入进去,如果其他项目引用该项目,那么这些compile范围的jar都会被引用过去
Provided:
像这种web容器存在的东西,我们不需要把jar发布上去,但是在项目开发阶段我们又要用它,如
这个javax.servlet包在开发项目编译和运行的时候需要,但是打包发布到仓库的时候不需要,那么就设置作用于设置provided,不会传播下去
Runtime:
运行时才加入依赖
对于这些作用域,一般都用compile,不要手动改。
Maven包的冲突问题
按照深度匹配
平级按照顺序优先
Maven的模块化
统一打包、统一部署
新建一个空项目
Maven的继承
我们的version groupid scope package基本上都是一样的,甚至依赖也可以继承,依赖继承的目的,方便改jar的版本,如:父类有一个jar ,很多子项目都要依赖,这个时候继承过来,如果这个时候要统一jar的版本管理,直接改父类的jar版本即可。
注意:子项目如果要覆盖父类里面的jar内容,那么必须添加自己的依赖jar的版本,去覆盖