亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

用Maven更好地跟蹤項目的進展情況

2019-11-18 13:17:39
字體:
來源:轉載
供稿:網友

  當您的項目逐漸變得龐大和復雜時,最好使用一種構建工具來自動構建您的項目。例如,一個典型的java項目,每次構建時都要經歷編譯java源代碼,把class文件打成.jar包,生成javadocs文檔等步驟。這些步驟都可以用構建工具幫您自動完成。說到構建工具,大家肯定都知道make,但make是依靠具體操作系統的。Java-centric選擇了Ant,一種可以跨平臺的使用xml來替換Makefile糟糕語法的構建工具。
  來自Apache軟件組織的構建工具Maven更可能成為您的選擇,Maven不僅提供了out-of-the-box的解決方案來統一處理構建相關的任務,還提供了信息統計的功能。使您的開發團隊可以更好地跟蹤項目的進展情況。
  
  Maven的原理
  作為構建工具,Maven和Ant一樣,利用構建配置文件進行編譯,打包,測試等操作。您可以用Maven自帶的功能進行任何的操作,但前提是做好了相應的配置。當然,修改已有的模板來開始新的項目是個好方法。除非您在寫特有的task,不然都會有target重用的問題。
  Maven進行了一些改進。您將項目配置內容寫成XML文件,并且可以使用很多Maven自帶的功能。另外還可以在Maven項目中調用任何Ant的task。
  Maven自帶的"goals"有以下功能:
  編譯源代碼
  產生Javadoc文檔
  運行unit測試
  源代碼文法分析
  產生違反團隊編碼規范的具體報告
  產生CVS最新提交報告
  產生CVS更改最頻繁的文件報告和提交最頻繁的開發人員報告
  產生可以交叉引用的Html格式的源代碼,等等。
  
  Maven的功能是通過眾多的插件來實現的。在Maven的網站上可以找到一個Maven插件列表。例如,創建EAR包和控制J2EE應用服務器的插件。
  Maven的另外一個特色是利用中心構建資源庫去訪問您項目中需要的.jars(像Perl's CPAN)。您只用列出需要的.jars及相應版本,Maven會自動下載。當第一次運行Maven,或者運行一個新的goal時,可以在控制臺上看到中心構建資源庫下載.jars的具體過程。這一功能不僅使Maven更加輕易使用,而且能幫您省下不少搜集維護本地或遠程構建資源庫中.jars版本的時間和精力。
  Maven的易用性來源于配置過程的自然性。Out of the box,不僅提供了項目構建的基本步驟,還可以自定義項目對象模型(POM)。POM基于易于編輯的XML格式,由不同元素的名稱和屬性組成。一旦您完成POM的配置,就可以在構造過程中使用很多Maven自帶的激動人心的功能。
  Maven也易于自定義,非凡是當您已經熟悉Ant后。您可以增加新的功能或鉤子到已有的構造過程以添加自定義的步驟。通過修改maven.xml文件可以添加自定義的功能。
  
  Maven概述
  Maven最基本的運行單位是goal。例如,當您在控制臺運行如下命令:
  maven site:generate
  
  Maven會去訪問并執行generate goal of site插件。假如想要查看配置文件中所有的goals,輸入:
  maven -g
  
  對于任何一個團隊,運行maven site:generate的goal生成的站點可以給團隊成員展示項目當前的狀態。第一頁是單元測試的報告,提供單元測試的技術統計結果。
  Checkstyle插件對于在團隊中堅持編碼規范很有幫組。產生的報告中列出了在多少個文件里面出現了多少個違反編碼規范的統計信息,并列出了相應文件和行號。通過點擊相應鏈接,可以輕易的找到代碼中違反編碼規范的地方。
  事實上,Maven的開發者也在自己的項目中使用Maven來治理,所以你可以看到在開發Maven過程中產生的Checkstyle報告,如圖一
  
 用Maven更好地跟蹤項目的進展情況(圖一)

  
圖一. Checkstyle報告摘要

  在摘要之后就是按照文件為單位組織的違反編碼規范的報告,如圖二。
  
 用Maven更好地跟蹤項目的進展情況(圖二)

  
圖二. Checkstyle具體報告

  CVS插件可以產生關于代碼提交的統計報告,包括以下內容:
  更改日志報告:列出最新提交的文件及提交日期,作者和注釋。
  文件活躍度報告:提供更改最頻繁文件的具體內容
  開發人員活躍度報告:提供最新提交文件的統計報告及每個開發人員提交的文件數。
  以上報告文檔同樣使用在Maven開發項目中,最新的一次更改日志報告如圖三。
  
用Maven更好地跟蹤項目的進展情況(圖三)

  
圖三. 更改日志報告

  試一試
  假如您已經預備好要使用Maven,下面是安裝的步驟.
  到Apache下載Maven的最新版本.
  解壓到系統的某個目錄,比如C:/maven或者~/maven.
  設置MAVEN_HOME環境變量指向解壓到的目錄.
  確認您已經配置好JAVA_HOME環境變量.
  在系統path環境變量中添加MAVEN_HOME/bin.
  
  現在,在控制臺輸入
  maven -v
  
  您可以看到下面的輸出:
  __ __
   // __ _Apache__ ___
   // / _` / V / -_) ' / ~ intelligent PRojects ~
  _ _/__,_/_//_____ v. 1.0-beta-10
  
  Maven可以工作了!想看所有可用的Maven選項,輸入:
  maven -h
  
  所有可用的goals:
  maven -g
  
  您將看到可用的插件列表及其提供的goals:
  
  Available [Plugins] / Goals
   ```````````````````````````
   [ant] : Generate an Ant build file
    generate-build ............. Generate an Ant
                   build file
  
   [antlr] ( NO DEFAULT GOAL )
    generate ................... Generate source
                   from antlr grammars
    prepare-filesystem ......... Make any necessary
                  Directories for antlr
                  processing
  
  再往下,可以看到[wizard]插件和其goal ui。想運行那個goal就輸入:
  maven wizard:ui
  
  您可以在控制臺上看到Maven自動到中心構建資源庫或網上下載需要的.jar包.
  我們在進一步,創建一個簡單的項目。例如,創建一個名為maven-sample的目錄(~/maven-sample或者C:/maven-sample)。運行如下命令:
  maven -D package=com.oreillynet.mavensample genapp
  
  maven會自動創建一個標準的項目文件。上面的package屬性是必須的,假如輸入錯誤或不輸會編譯錯誤。
  現在,運行命令:
  maven site:generate
  
  Maven會依據配置好的POM文件(project.xml)為您項目生成相應的站點。假如是第一次運行,還可以看到Maven會到中心構建資源庫或網上下載必須的.jars包。
  運行這個goal,Maven會為您編譯源代碼,拷貝conf目錄里的資源文件到類文件classes的目錄,生成Javadoc文檔以及項目分析報告。可以看到,一個目標含有很多的功能!
  進入target目錄,您可以看到site:generate goal生成的文件。target目錄下的docs目錄存放著Maven為您的項目產生的報告文檔。
  
  Maven中使用Ant任務
  要整合Ant任務到Maven中,您需要創建名為maven.xml的文件并存放到project.xml文件的目錄。在maven.xml文件中寫入:
  
  <project default="myGoal">
   <goal name="myGoal">
  <echo>Hello Maven!</echo>
   </goal>
  </project>
  
   其中<echo>
  
  是Ant中用于輸出的task。同樣,在自定義的goals中也可以運行任何Ant task。
  保存maven.xml文件,在project.xml和maven.xml所在的目錄中運行
  maven
  
  您可以看到以下輸出:
  myGoal:
  [echo] Hello Maven!
  BUILD SUCCESSFUL
  Total time: 1 seconds
  
  自定義Maven
  到目前為止,您已經看到一個簡單的項目是怎樣運行的,您還可以按需要自定義Maven。在您最喜歡文本編輯器中打開project.xml文件,可以看到帶有注釋的項目文件。您可以把這作為擴展的基礎,根據項目的需要添加需要的代碼和資源。
  假如要使用Checkstyle插件,需要在project.properties文件中指定使用的編碼規范。默認使用的是標準的Sun和Turbine的編碼規范。您也可以通過設置maven.checkstyle.properties=team-checkstyle.xml
  
  來使用團隊自己的編碼規范。
  Checksytle插件會使用team-checkstyle.xml文件作為編碼規范檢查的依據。要創建自己的編碼規范文件,可以使用Eclipse插件,或者修改標準的編碼規范。解壓MAVEN_HOME/plugins目錄下的maven-checkstyle-plugin.jar文件,在解壓目錄中的plugin-resources目錄中可以找到sun_checks.xml和tuibine_checks.xml兩個文件。選擇和您團隊最接近的編碼規范再根據需要修改一下就可以了。
  要更改項目產生的站點的默認顏色,可以在project.properites文件中修改。顏色屬性要用標準的HTML語法。
  maven.ui.section.background=#cfcfbb
  maven.ui.banner.border.top=#cfcfbb
  maven.ui.banner.background=#cfcfbb
  maven.ui.source.background=#cfcfbb
  
  假如您想定義在ibiblio.org的Maven構建資源庫中沒有的公司自己的項目相關性,您可以照下面定義
  <dependency>
    <id>SomeJar</id>
    <jar>someJar1.2.jar</jar>
   </dependency>
  
  然后,您需要將somJar1.2.jar文件放到您自己的中心構建資源庫

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩国产中文字幕| 亚洲最大的网站| 成人午夜黄色影院| 中文字幕精品www乱入免费视频| 亚洲va电影大全| 国产精品成人aaaaa网站| 在线色欧美三级视频| 18性欧美xxxⅹ性满足| 91产国在线观看动作片喷水| 91精品视频在线播放| 51精品国产黑色丝袜高跟鞋| 奇门遁甲1982国语版免费观看高清| 中文字幕欧美国内| 在线观看欧美视频| 久久九九有精品国产23| 亚洲国产精品嫩草影院久久| 国产视频综合在线| 亚洲第一视频在线观看| 九九热精品视频国产| 亚洲人成绝费网站色www| 91精品美女在线| www.亚洲一区| 狠狠躁夜夜躁人人爽超碰91| 欧美第一页在线| 亚洲日韩欧美视频| 欧美丰满片xxx777| 日本国产一区二区三区| 国产精品视频免费在线观看| 欧美激情性做爰免费视频| 欧美另类极品videosbest最新版本| 国内久久久精品| 日韩欧美成人免费视频| 成人在线精品视频| 国产精品影院在线观看| 91精品国产综合久久久久久蜜臀| 欧美激情aaaa| 久久视频国产精品免费视频在线| 欧洲亚洲免费视频| 亚洲丝袜一区在线| 热久久视久久精品18亚洲精品| 成人激情视频小说免费下载| 在线精品高清中文字幕| 日韩亚洲精品视频| 俺去了亚洲欧美日韩| 国产99久久久欧美黑人| 欧美成aaa人片在线观看蜜臀| 欧亚精品中文字幕| 久国内精品在线| 中文字幕日韩精品有码视频| 91色精品视频在线| 日本19禁啪啪免费观看www| 久久躁狠狠躁夜夜爽| 综合网日日天干夜夜久久| 精品久久久久久久久久国产| 亚洲成av人片在线观看香蕉| 成人在线视频网站| 亚洲第一网站男人都懂| 国产日韩欧美91| 国产999精品久久久影片官网| 亚洲精品天天看| 欧美在线视频网| 国产精品久久久久久一区二区| 国产精品草莓在线免费观看| 久久精品亚洲国产| 91沈先生在线观看| 国产精品情侣自拍| 午夜精品一区二区三区在线视频| 久久久精品视频成人| 亚洲视频一区二区三区| 日韩大片免费观看视频播放| 欧美激情啊啊啊| 亚洲午夜性刺激影院| 九九精品在线观看| 狠狠干狠狠久久| 亚洲第一精品夜夜躁人人躁| 久久亚洲精品小早川怜子66| 国产精品久久久91| 亚洲风情亚aⅴ在线发布| 国自产精品手机在线观看视频| 欧美日韩国产精品| 日韩av免费网站| 亚洲人成网站免费播放| 精品久久久久久中文字幕一区奶水| 中文字幕亚洲国产| 美日韩在线视频| 日韩不卡在线观看| 欧美一级片一区| 欧美亚州一区二区三区| 国产免费一区二区三区在线能观看| 伦理中文字幕亚洲| 大桥未久av一区二区三区| 日韩精品欧美国产精品忘忧草| 日韩在线中文字幕| 91精品国产91久久久久久久久| 日韩精品在线视频| 国产精品九九久久久久久久| 亚洲精品永久免费| 国产成人精品午夜| 91爱视频在线| 亚洲精品aⅴ中文字幕乱码| www.亚洲人.com| 国产婷婷97碰碰久久人人蜜臀| 午夜精品在线视频| 日韩电影视频免费| 国产91精品久久久久久久| 欧美中文字幕在线播放| 中文字幕成人在线| 国产伦精品一区二区三区精品视频| 91久久精品在线| 91精品国产99久久久久久| 欧美精品在线免费播放| 影音先锋日韩有码| 亚洲自拍小视频| 亚洲精品中文字幕有码专区| 日本一区二区三区在线播放| www.日韩av.com| 亚洲电影免费观看高清完整版在线| 日韩av电影在线免费播放| 亚洲jizzjizz日本少妇| 国产成人精品免费久久久久| 国产精品自拍偷拍| 亚洲国产欧美一区二区三区同亚洲| 色偷偷88888欧美精品久久久| 久久精品在线播放| 国产精品免费视频xxxx| 亚洲男人天天操| 亚洲va久久久噜噜噜久久天堂| 欧美激情久久久| 亚洲一区二区国产| 中文字幕在线观看亚洲| 国产一区二区免费| 国产亚洲精品久久久久久| 欧美性猛交xxx| 亚洲精品国产精品国产自| 精品国产乱码久久久久久天美| 国产小视频国产精品| 57pao精品| 亚洲自拍偷拍视频| 欧美日韩一二三四五区| 欧美一区二区视频97| 欧美一区三区三区高中清蜜桃| 欧美高清视频免费观看| 91综合免费在线| 国产精品爽爽ⅴa在线观看| 久久伊人精品视频| 精品久久久久久亚洲精品| 久久在线精品视频| 国产精品无av码在线观看| 俺也去精品视频在线观看| 日韩中文字在线| 97视频在线观看播放| 久久露脸国产精品| 日韩免费在线播放| 91精品久久久久久久久久久久久久| 美女精品久久久| 亚洲精品美女视频| 国产视频久久久久久久| 黄色成人在线免费| 色悠悠久久88| 欧洲亚洲妇女av| 国产一区二区黄| 亚洲精品国产福利| 欧美性xxxx极品高清hd直播| 国产综合久久久久|