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