总结之maven思想、jar冲突解决
jar冲突解决
方式一:第一声明优先原则:哪个jar依赖在前面就优先
方式二:
maven导入jar包概念
直接依赖:项目直接依赖包优先
传递依赖:项目中没有直接导入的jar包,可以通过项目直接依赖jar包传递到项目中去。
优先直接依赖
方式三:直接排除法
排除某个jar包下依赖包,在配置exclusions标签的时候,内部可以不写版本号,因此依赖包使用的版本和默认和本jar包一样
pom个别标签解释
dependencyManagment 锁定jar包版本(只锁,不主动依赖,要再加依赖)
防止b项目依赖a项目,b项目jar包与b项目直接依赖jar包不一样,通过锁定jar包,b项目必须用a项目中锁定的jar包
properties 统一管理jar包版本
maven工程拆分与聚合
拆分
项目中dao、utils等在多端是重复使用的,可以重用。如果多个端为重复的dao层代码,会造成代码重复。通过maven拆分可以解决代码重用和便于维护。
公司开发一个新项目,我们不需要重新考虑dao、service、utils等模块,如果这些模块已经存在,可以直接引用。
聚合
分散的模块整合在一起作为一个完整的项目
父工程和子工程
父子工程直接,子模块天生集成父工程,可以使用父工程所有的资源
父子工程直接不用建立关系,继承是天生的,不需要手动建立
子子平级,需要通过直接引用去依赖兄弟工程。依赖不是先天的,依赖是需要后天建立的。
maven run等操作
maven run父工程
maven run子工程
run子工程会找pom中的依赖,子子工程依赖,在本地没有子工程jar包,需要把父工程打包进本地仓库,把子工程打进本地仓库
IDE tomcat run