您好,登錄后才能下訂單哦!
這篇文章主要講解了“Maven的作用有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Maven的作用有哪些”吧!
maven的作用一:依賴管理:maven對項目中的jar包的管理過程。傳統項目我們直接把jar包放置在項目中,maven工廠真正的jar包放置在倉庫中,項目中只會放置jar包的坐標。
倉庫的種類:本地倉庫,遠程倉庫,中介倉庫
倉庫之間的關系:當我們啟動一個maven工廠的時候,maven工程會通過pom文件中的jar包的坐標去本地倉庫找對應的jar包。默認情況下,如果本地沒有對應的jar包,maven工程會自動去中央倉庫下載jar包到本地倉庫。在公司中,如果本地沒有對應的jar包,會先從私服下載jar包(私服需要公司自己創建),如果私服沒有jar包,可以從中央倉庫下載,也可以從本地上傳。
maven的作用二:一鍵構建:maven自身集成了tomcat插件,可以對項目進行編譯,測試,打包,安裝,發布等操作,分布對應maven的常用命令
maven常用命令:clean,compile,test,package,install,deploy
maven三套生命周期:清理生命周期,默認生命周期,站點生命周期。
清理生命周期:Clean Lifecycle 在進行真正的構建之前進行一些清理工作
默認生命周期:Default Lifecycle 構建的核心部分,編輯,測試,打包,部署等等
站點生命周期:Site Lifecycle 生成項目報告,站點,發布站點
注意:三套生命周期是相互獨立的。
maven解決jar包沖突
方式一:第一聲明優先原則:哪個jar包等坐標在靠上的位置,這個jar包就是先聲明的。先聲明的jar包坐標下的依賴包,可以優先進入項目中。
方式二:直接依賴:項目中直接導入的jar包,就是該項目的直接依賴包。傳遞依賴:項目中沒有直接導入jar包,可以通過項目直接依賴的jar包傳遞到項目中去。路徑近者優先原則:直接依賴路徑比傳遞依賴路徑近,那么最終項目進入的jar包會是路徑近的直接依賴jar包
方式三:直接排除:可以通過<exclusions>標簽消除傳遞依賴jar包
工程的拆分和聚合:
拆分思想:maven把一個完整的項目,分成不同的獨立模塊,這些模塊都有各自獨立的坐標,哪個地方需要其中的模塊,就直接引用該模塊的坐標即可。
集合思想:把拆分零散的模塊聚合到一起編寫一個完整的項目。
作用;解決代碼可重用和便于維護
工程和模塊的區別:
1、工程不等于完整的項目,模塊也不等于完整的項目,一個完整的項目看的是代碼,代碼完整,就可以說這是一個完整的項目和此項目是工程和模塊沒有關系。
2、工程天生只能使用自己內部的資源,工程天生是獨立的,后天可以和其他工程或模塊建立關聯關系。模塊天生不是獨立的,模塊天生是屬于父工程的,模塊一旦創建,所有父工程的資源都可以使用
3、父子工程,子模塊天生集成父工程,可以使用父工程所有的資源,子模塊之間天生是沒有任何關系的。
4、父子工程不用建立關系,繼承關系是先天的,不需要手動建立的,平級關系的引用叫依賴,依賴是需要后天建立的。
父子工程啟動方式:
第一種:父工程直接run
第二種:先install父工程,在啟動下面的模塊
第三種:添加本地tomcat啟動,添加工程啟動
私服:
1、下載安裝私服安裝包 Nexus https://www.sonatype.com/oss-thank-you-win64.zip
2、配置Nexus,在etc目錄下的nexus-default.properties配置Nexus端口、IP、上下文路徑
3、啟動服務
hosted:宿主倉庫(存放本公司開發的jar包(正式版本 測試版本 第三方:存在版權問題的-Oracle))
proxy:代理倉庫(代理中央倉庫,apache下測試版本的jar包)
group:組倉庫(將來連接組倉庫。包含Hosted:宿主倉庫,proxy:代理倉庫)
virtual:虛擬倉庫(被廢棄了的倉庫)
上傳Jar包到私服
1、在maven目錄下conf/setting.xml配置用戶名和密碼
<servers> <server> <id>releases</id> <!--宿主倉庫--> <username>admin</username> <password>admin123</password> </server> <server> <id>snapshots</id><!--宿主倉庫--> <username>admin</username> <password>admin123</password> </server> </servers>
2、在pom.xml中配置jar包的上傳路徑
<distributionManagement> <repository> <id>releases</id> <url>http://localhost:8081/nexus/repository/maven-releases</url><!--私服對應url--> </repository> <snapshotRepository> <id>snapshots</id> <url>http://localhost:8081/nexus/repository/maven-snapshots</url><!--私服對應url--> </snapshotRepository> </distributionManagement>
從私服下載Jar包
1、在maven目錄下conf/setting.xml配置模版
<profile> <!--profile的id--> <id>dev</id> <repositories> <repository> <!--倉庫id,repositories可以配置多個倉庫,保證id不重復--> <id>nexus</id> <!--倉庫地址,即nexus倉庫組的地址--> <url>http://localhost:8081/nexus/repository/maven-public</url> <!--是否下載releases構件--> <releases><enabled>true</enabled></releases> <!--是否下載snapshots構件--> <snapshots><enabled>true</enabled></snapshots> </repository> </repositories> <pluginRepositories> <!--插件倉庫,maven的運行依賴插件,也需要從私服下載插件--> <pluginRepository> <!--插件倉庫的id不允許重復,如果重復后邊配置會覆蓋前邊--> <id>public</id> <name>Public Repositories</name> <url>http://localhost:8081/nexus/repository/maven-public</url> </pluginRepository> </pluginRepositories> </profile>
2、激活模版,在conf/setting.xml
<activeProfiles> <activeProfile>dev</activeProfile> </activeProfiles>
感謝各位的閱讀,以上就是“Maven的作用有哪些”的內容了,經過本文的學習后,相信大家對Maven的作用有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。