乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      maven入門介紹

       figol 2006-09-27

      maven入門介紹

      1. 什么是maven
      從字面解釋maven是知識淵博、經(jīng)驗豐富的專家或怪才的意思。深入研究和使用maven,確實讓人感到它確實沉淀了Java項目構(gòu)建領(lǐng)域中的豐富知識和經(jīng)驗,并以一種高度可復用的形式出現(xiàn)在你的面前。maven的開發(fā)者在他們開發(fā)網(wǎng)站上指出,maven的目標是要使得項目的構(gòu)建更加容易,它把編譯、打包、測試、發(fā)布等開發(fā)過程中的不同環(huán)節(jié)有機的串聯(lián)了起來,并產(chǎn)生一致的、高質(zhì)量的項目信息,使得項目成員能夠及時地得到反饋。maven有效地支持了測試優(yōu)先、持續(xù)集成,體現(xiàn)了鼓勵溝通,及時反饋的軟件開發(fā)理念。如果說Ant的復用是建立在"拷貝--粘貼"的基礎(chǔ)上的,那么Maven通過插件的機制實現(xiàn)了項目構(gòu)建邏輯的真正復用。

      2. maven的主要概念

      • Goal: 類似于ant中的target,指完成一定功能的一個任務(wù)
      • Artifact:項目產(chǎn)生物,主要有jar, war, maven插件
      • Plug-in:插件,可復用的功能模塊比如,middlegen,statcvs
      • POM:項目對象模型(Project Object Model),是項目的一些關(guān)鍵元信息的集合。主要包含項目管理信息、具體的項目描述、開發(fā)小組的構(gòu) 成、源代碼庫(如CVS)和郵件列表、項目依賴的庫文件(開發(fā)時刻依賴和運行時刻依賴)、源代碼、單元測試代碼和資源文件的位置、項目報告

      3. maven的依賴管理
      maven對項目依賴的庫文件進行集中管理,所有庫文件都以一定結(jié)構(gòu)存放在repository中,并用artifactId,groupId, version三個屬性來標示它們。當項目需要某些庫文件時,只要指明這三個屬性即可。庫文件在repository中存儲結(jié)構(gòu)也和這三個屬性緊密相關(guān),其關(guān)系為${mave.repo.remote}//s/ -.。也就是假定repository的根目錄為/javarepository那么 groupId為spring,artifactId為spring-orm,版本(version)為1.1.3的jar的庫文件的存儲路徑為 /javarepository/spring/jars/spring-orm-1.1.3.jar。
      maven的repository通常放在對公眾開放的主機上,并由眾多的鏡像構(gòu)成,最主要的是http://www./maven/。選擇哪些repository是通過 Java系統(tǒng)變量maven.repo.remote。比如下面的配置maven.repo.remote=http://ultra/maven/, http://www./maven/,http://boss./maven/,http://mirrors./maven, http://www./maven將使maven從www.,boss., mirrors.,www.四個站點依次尋找依賴的文件。該變量可以在四個地方設(shè)置:
      • project.properties,
      • build.properties,
      • ${maven.home.local}/build.properties
      • -D maven命令行,
      其優(yōu)先級依次升高。通常在${maven.home.local}/build.properties中設(shè)置此變量。


      3. maven的主要功能
      maven是個構(gòu)建工具的集成平臺,所有功能都是通過插件實現(xiàn)的。maven內(nèi)置和第三方擴展工具提供了大量功能,除了包括基本的編譯、打包、java文檔生成、運行單元測試外,還有j2ee項目支持,代碼生成,產(chǎn)生測試覆蓋率報告,項目開發(fā)過程各種文檔的發(fā)布。
      4. 使用maven的案例分析
      背景,輕量級J2EE項目,dhtml+struts+spring+hibernate+dbunit,使用ER模型進行數(shù)據(jù)庫設(shè)計
      工具需求:
      1. 生成各種IDE(如eclipse, InteliJ Idea, JBuilder)的項目工程文件
      2. 從設(shè)計好的數(shù)據(jù)庫表反向生成Hibernate mapping和POJO、
      3. 導入導出excel的測試數(shù)據(jù)
      4. 項目開發(fā)小組還希望能夠通過一個統(tǒng)一的入口迅捷地了解和獲取項目開發(fā)過程的產(chǎn)生物和狀態(tài)報告,比如項目管理者想了解單元測試的結(jié)果和測試覆蓋率、代碼貢獻率;而設(shè)計人員系統(tǒng)通過這樣一個渠道及時把設(shè)計的結(jié)果發(fā)布給編碼人員,如需求描述的文檔、數(shù)據(jù)庫表結(jié)構(gòu)、對象模型等;資深開發(fā)人員則想通過該入口能夠快捷的瀏覽、評審代碼。
      通過對工具需求的分析結(jié)合maven提供的功能,可有以下方案:
      • 對于需求1可以使用maven的eclipse, idea, jbuilder插件,這些插件可以生成相應(yīng)的項目工程文件;
      • 對于需求2可使用maven-middlegen插件數(shù)據(jù)庫反向工程生成各個實體的Hibernate影射文件,再用maven-hibernate插件將這些文件按模塊組合成單個文件;
      • 對于需求3可使用maven-dbunit插件的export-xls和import-xls功能;
      • 對于需求4可使用site插件生成并發(fā)布項目信息和項目的各種報告如:代碼交叉引用報告、單元測試報告、CVS代碼狀態(tài)報告等。

      5. maven的經(jīng)驗總結(jié)
      • 在局域網(wǎng)內(nèi)設(shè)置maven repository的鏡像站點,以便用maven管理開發(fā)組織內(nèi)部的artifact,或其他無法在公共maven repository站點發(fā)布的artifact。并在${maven.home.local}/build.properties中,設(shè)置 maven.repo.remote屬性使其指向該mirror。
      • 盡可能使項目的構(gòu)建自動化,一個比較好的工具是crusiecontrol。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多