国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Maven 模塊化項(xiàng)目管理

ethernet / 1240人閱讀

摘要:一什么是是一款軟件項(xiàng)目管理和理解工具。基于項(xiàng)目對(duì)象模型的概念,通過添加一小段描述來管理項(xiàng)目的構(gòu)建。另外如果子模塊中指定了版本號(hào),那么會(huì)使用子模塊中指定的版本。

一、什么是Maven?

Maven是一款軟件項(xiàng)目管理和理解工具。基于項(xiàng)目對(duì)象模型(POM)的概念,通過添加一小段描述來管理項(xiàng)目的構(gòu)建。

二、為什么要使用Maven?

以前在用Java開發(fā)一個(gè)項(xiàng)目時(shí),往往需要引入幾十或者上百個(gè)Jar包,那么這些Jar可能分散在不同的地址,我們需要一個(gè)一個(gè)去下載,然后在導(dǎo)入到我們項(xiàng)目中!有時(shí)一個(gè)Jar包找到合適的版本可能需要幾個(gè)小時(shí)。更讓人痛苦的是一個(gè)大項(xiàng)目開發(fā)需要多人協(xié)同開發(fā)。那么項(xiàng)目依賴的Jar包就需要有一份公共的來解決不同人引入相同的Jar不同版本的依賴從而導(dǎo)致沖突。

現(xiàn)在使用Maven來構(gòu)建,Maven通過一個(gè)POM文件來管理項(xiàng)目依賴,只要在POM中加入想要的Jar包依賴,Maven會(huì)在本地倉庫中查找依賴包。如果本地沒有找到就會(huì)從配置的私服中下載依賴,沒有配置私服Maven就會(huì)從Maven的中央倉庫(99%的開源項(xiàng)目都可以在Maven中央倉庫中找到)中去找到指定版本的Jar包。

三、約定規(guī)范

web : 項(xiàng)目名稱

src : 源代碼和測試代碼的根目錄

main : 應(yīng)用代碼目錄

java : 源代碼目錄

resources : 配置文件目錄

test : 測試代碼目錄

testResources : 測試使用的配置文件

webapp : 當(dāng)你的項(xiàng)目是一個(gè)web項(xiàng)目時(shí)才會(huì)需要這個(gè)文件夾,里面都是存放項(xiàng)目靜態(tài)文件。如果你的項(xiàng)目是jar項(xiàng)目那就不需要這個(gè)目錄了。

target : 項(xiàng)目打包時(shí)maven自動(dòng)幫我們創(chuàng)建的目錄,里面就是打包好的項(xiàng)目文件

pom.xml : 這就是配置項(xiàng)目依賴的地方。一次配置,不管以后代碼給誰,都可以運(yùn)行起來。

四、實(shí)例




  4.0.0

  com.test
  maven-test
  1.0-SNAPSHOT
  war

  maven-test Maven Webapp
  
  http://www.example.com

  
    UTF-8
    1.7
    1.7
    /**
    * POM文件中使用的變量聲明
    * 可以在這里聲明各種文件的版本號(hào)
    * 例如 : 4.3.9.RELEASE
    * 在下面的依賴引入時(shí)可以聲明一個(gè)公共版本
    */
    4.3.9.RELEASE
  

  
    /**
    * 一個(gè) dependency 為一個(gè)依賴
    * groupId : 項(xiàng)目組織唯一的標(biāo)識(shí)符,對(duì)應(yīng)JAVA的包的結(jié)構(gòu),在main目錄里面java的目錄結(jié)構(gòu) (groupId可以多個(gè)項(xiàng)目使用一個(gè))
    * artifactId : 項(xiàng)目的唯一的標(biāo)識(shí)符,實(shí)際對(duì)應(yīng)項(xiàng)目的名稱,就是項(xiàng)目根目錄的名稱。(每個(gè)項(xiàng)目中同樣的版本只能有一個(gè))
    */

  
    org.springframework
    spring-core
    ${spring.version}
  
  
    org.springframework
    spring-context
    ${spring.version}
  
  
    org.springframework
    spring-beans
    ${spring.version}
  
  
  

  
    maven-test
    
      
        /**
        * 這邊是maven插件配置
        * 需要打包jar時(shí),就需要配置mainClass
        * 多模塊時(shí),需要配置子模塊文件引入插件
        */
        
          maven-clean-plugin
          3.0.0
        
        
        
          maven-resources-plugin
          3.0.2
        
        
          maven-compiler-plugin
          3.7.0
        
        
          maven-surefire-plugin
          2.20.1
        
        
          maven-war-plugin
          3.2.0
        
        
          maven-install-plugin
          2.5.2
        
        
          maven-deploy-plugin
          2.8.2
        
      
    
  

五、模塊化項(xiàng)目管理

Maven模塊化項(xiàng)目管理,適用于一些比較大的項(xiàng)目,通過功能的模塊拆分,實(shí)現(xiàn)代碼的解耦合,便于代碼的復(fù)用和維護(hù)及管理。開源框架在便于閱讀源碼前提下基本都是采用模塊化的方式,提供模塊集成,用戶可以根據(jù)需求配置指定的模塊。

父模塊配置:

子模塊配置:

父模塊配置dependencies與dependencyManagement的區(qū)別 :

dependencies : 在子模塊中不寫該依賴項(xiàng),那么子模塊仍然會(huì)從父模塊中繼承該依賴項(xiàng)(全部繼承,上面使用的截圖就是dependencies)

dependencyManagement : 父模塊里只是聲明依賴(在dependencies外層在包一個(gè)dependencyManagement標(biāo)簽說明),并不實(shí)現(xiàn)引入,因此子模塊需要顯示的聲明需要用的依賴。如果不在子模塊中聲明依賴,是不會(huì)從父模塊中繼承下來的;只有在子模塊中寫了該依賴項(xiàng),并且沒有指定具體版本,才會(huì)從父模塊中繼承該項(xiàng),并且version和scope都讀取自父pom。另外如果子模塊中指定了版本號(hào),那么會(huì)使用子模塊中指定的Jar版本。

部分信息參考來自網(wǎng)絡(luò).

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/71204.html

相關(guān)文章

  • Maven核心概念和日常實(shí)踐

    摘要:項(xiàng)目根目錄項(xiàng)目名項(xiàng)目版本號(hào)項(xiàng)目目錄打包的名字二依賴管理概述通過在配置依賴坐標(biāo),會(huì)自動(dòng)幫我們下載依賴的構(gòu)件。關(guān)于父模塊的依賴配置注意兩點(diǎn)一般都是通過來配置所有依賴及其版本號(hào),然后子模塊,在自己的文件中聲明依賴即可,不用再指定版本,以確保統(tǒng)一。 一、Maven 1.1 為什么寫Maven 工欲善其事,必先利其器。如今Java相關(guān)開發(fā),基本離不開Maven、Gradle、MAT、Hudson...

    894974231 評(píng)論0 收藏0
  • Maven學(xué)習(xí)筆記

    摘要:學(xué)習(xí)筆記先生,您在寫代碼嗎不,我們正在完成一項(xiàng)偉大的工程。于是打算重新學(xué)習(xí)一下。中央倉庫鏡像為了分擔(dān)中央倉庫的流量,提升用戶的訪問速度。生成項(xiàng)目報(bào)告,站點(diǎn),發(fā)布站點(diǎn)。修改源碼后也需要逐個(gè)手動(dòng)進(jìn)行操作。 maven學(xué)習(xí)筆記 先生,您在寫代碼嗎? 不,我們正在完成一項(xiàng)偉大的工程。 前言 在剛學(xué)maven時(shí),我就把maven當(dāng)作一個(gè)引入jar包的工具而已,以前是自己下載jar包,現(xiàn)在是只用...

    tomlingtm 評(píng)論0 收藏0
  • Maven 實(shí)戰(zhàn)

    摘要:的主要思想是約定優(yōu)于配置。強(qiáng)烈建議遵循以上規(guī)范,避免不必要的麻煩。依賴傳遞依賴范圍除了控制,還會(huì)對(duì)依賴傳遞產(chǎn)生影響。此外還提供了和來進(jìn)一步管理依賴,分別稱為可選依賴和排除依賴。 showImg(https://segmentfault.com/img/remote/1460000012363876?w=1240&h=698); Maven 是跨平臺(tái)的項(xiàng)目管理工具,主要服務(wù)于基于Java...

    twohappy 評(píng)論0 收藏0
  • Maven模塊項(xiàng)目搭建+整合SSM框架

    摘要:繼承作用就是避免配置重復(fù),對(duì)于子項(xiàng)目來說應(yīng)該關(guān)心父項(xiàng)目是怎么樣配置的。聚合字面理解就是聚在一起合作完成工作,就是將子模塊聚集起來完成相應(yīng)的項(xiàng)目需求父工程的搭建項(xiàng)目結(jié)構(gòu)在父工程中,主要負(fù)責(zé)完成依賴的版本管理,并不是實(shí)際的依賴。 從大二開始就一直關(guān)注segmentFault,在問題專區(qū)幫忙回答一些自己知曉的問題;在寫這篇文章之前我一直會(huì)在朋友圈發(fā)一些自己遇到的問題以及解決辦法,這是第一次寫...

    liaosilzu2007 評(píng)論0 收藏0
  • IntelliJ Idea 創(chuàng)建maven模塊項(xiàng)目

    摘要:創(chuàng)建項(xiàng)目點(diǎn)擊創(chuàng)建項(xiàng)目,點(diǎn)擊下一步填寫組名項(xiàng)目項(xiàng)目版本填寫本地項(xiàng)目和目錄名稱,點(diǎn)擊創(chuàng)建好的項(xiàng)目目錄結(jié)構(gòu)如下一般多模塊開發(fā)中父模塊都是不帶目錄的,手動(dòng)刪除目錄,刪除之后的目錄如下至此父模塊已經(jīng)創(chuàng)建完成。 公司的項(xiàng)目使用idea進(jìn)行maven的多模塊開發(fā),由于接觸intellij Idea沒有多長時(shí)間,對(duì)好多功能都不太清楚,就在網(wǎng)上瀏覽帖子學(xué)習(xí),在此過程中總感覺帖子寫的不夠詳細(xì),在途中踩了很...

    ?xiaoxiao, 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<