maven2学习总结(3,maven2在淘宝项目的应用)
????? 先看下項目工作環境中的setting.xml文件的配置:
?
???????? 這是一個最基本的設置,設置了登陸此資源庫服務器的用戶名、密碼和資源庫的位置。通過這兩個設置,我們便可以從指定的資源庫中獲得相應的Jar包。
下面在看一下在大淘寶TC項目中pom.xml文件的配置:
?
??? 在這個配置文件里分別設置了對父項目的繼承(parent)、此項目的相關信息(groupId、artifactId等)、子模塊(module)、編譯設置(build)、測試資源(testResources)、插件(plugin)和項目依賴管理(dependencyManagement)。
??????? 從此配置文件可以看出:項目“tc-all”分別由五個子模塊組成:“tc-client、tc-domain、tc-server、tc-refund-client、tc-refund-domain”。在testResource里定義了測試需要的資源文件的目錄。在編譯(build)里的插件(plugins)中分別設置了運行測試用例的插件maven-surefire-plugin及此插件運行的內容“ **/*BNCTest.java”(包含BNCTest后綴的java文件,即測試代碼);測試覆蓋率報告的插件maven-clover2-plugin,具體內容可參見官網:(http://docs.atlassian.com/maven-clover2-plugin/2.3.1/usage.html)。個人覺得這個pom.xml文件里最核心的是dependencyManagement,他里面的各個依賴項dependency將會在執行“ mvn -U clean eclipse:clean eclipse:eclipse ”命令時根據setting.xml里配置的server和mirror從指定的資源庫里取出相應版本的jar包放到制定的本地資源庫里<localRepository>D:\repo</localRepository>,到這里,一個TC項目的環境算是構建好了,使用eclipse加載此工程可以看到:
?
????? ?此時我想到了《maven權威指南》一書里說的“約定優于配置”, Maven 通過給項目提供明智的默認行為來融合這個概念。 在沒有自定義的情況下,源代碼假定是在 ${basedir}/src/main/java,資源文件假定是在
${basedir}/src/main/resources 。測試代碼假定是在 ${basedir}/src/test 。項目假定會產生一個 JAR 文件。Maven 假定你想要把編譯好的字節碼放到${basedir}/target/classes 并且在 ${basedir}/target 創建一個可分發的 JAR文件。
???? 項目開發中,開發人員在${basedir}/src/main/java目錄中寫好自己的代碼,而接口測試人員可以根據此目錄的設定好的接口在${basedir}/src/test/java目錄里進行單元測試和集成測試用例的設計和編碼,可以說是開發與測試同時進行,這樣自然會減少在功能測試中的bug數。
??? 當所有的開發和測試完成的時候,這時候maven的作用就凸顯出來了。通過一些簡單的命令,諸如:
???? ?mvn package:依據項目將在target文件下生成jar文件;
?????mvn install:??? 將項目的jar文件添加到本地資源庫中, 以備依賴此項目時使用;
???? 如果你有權限,你還可以將打好的jar包上傳到遠程的資源庫中,供其他項目使用,如(mvn deploy:deploy-file -Dfile=yourJar.jar -Durl=dav:http://your url /repository -DpomFile=pom.xml )。
—————————————————————————
???關于maven在淘寶項目的使用就簡單的介紹到這里,如果想深入了解maven,《maven權威指南》一書里講的很細致。文章中如有不妥之處請予以指出,同時也歡迎大家來共同交流、共同學習。謝謝!
轉載于:https://www.cnblogs.com/shipengzhi/archive/2011/05/16/2047697.html
總結
以上是生活随笔為你收集整理的maven2学习总结(3,maven2在淘宝项目的应用)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 翻译:如何用Cocos2d来开发简单的I
- 下一篇: Cordiality ERP MVC 3