Nexus 是Maven倉庫管理器,如果你使用Maven,你可以從Maven中央倉庫 下載所需要的構件(artifact),但這通常不是一個好的做法,你應該在本地架設一個Maven倉庫服務器,在代理遠程倉庫的同時維護本地倉庫,以節省帶寬和時間,Nexus就可以滿足這樣的需要。此外,他還提供了強大的倉庫管理功能,構件搜索功能,它基于REST,友好的UI是一個extjs的 REST客戶端,它占用較少的內存,基于簡單文件系統而非數據庫。這些優點使其日趨成為最流行的Maven倉庫管理器。
Maven2的目標使項目構建構成更容易提供統一構建系統提供高質量的項目信息提供開發的最佳實踐指南能無縫的加入新的特性了解Maven2主要功能構建項目(Builds)項目報告(Reporting)依賴管理(Dependencies)一致的項目build流程和結構了解Maven2 Maven2如何工作?內部倉庫外部倉庫2機1項目A項目BInstall構件A或B機2項目3機1本地倉庫下載構件外部倉庫1機2本地倉庫依賴依賴Deploy構件A或B獲取構件A和B下載構件A和B獲取構件A了解。
中央倉庫約定優于配置生命周期1、CleanLifecycle在進行真正的構建之前進行一些清理工作。2、DefaultLifecycle構建的核心部分,編譯,測試,打包,部署等等。3、SiteLifecycle生成項目報告,站點,發布站點。Nexus1、解壓nexus下載的安裝包nexus-2.0.5-bundle.zip2、選擇對應環境的啟動文件予以啟動進行配置。
ant的作用介紹Ant主要是設計用于生成Java項目的,但這并不是它唯一的用途。許多人發現它對其他任務也很有幫助。比如以跨平臺的方式執行文件系統操作。此外,還有許多可用的第三方Ant任務,而編寫自定義的Ant任務也是相對簡單的,因此很容易針對特定的應用程序定制Ant。ApacheAnt是一個基于Java的生成工具。據最初的創始人James Duncan Davidson介紹,這個工具的名稱是another neat tool(另一個整潔的工具)的首字母縮寫。它具有跨平臺性。
先說maven2吧,看了好幾天,覺得它涉及的東西挺多的,不知道從哪里入手,看了不少資料,對它有了大概的了解。 Maven2就是一個項目管理的工具,它使項目的構建更加容易,提供統一的管理,可以對項目進行預處理、編譯、測試、持續整合、打包和發布。除了提供構建的功能,Maven2還可以生成報告,生成web站點,促進團隊間的合作與交流。
可能有些讀者并不連接什么是Ant以及入可使用它,但只要使用通過Linux系統得讀者,應該知道make這個命令。當編譯Linux內核及一些軟件的源程序時,經常要用這個命令。Make命令其實就是一個項目管理工具,而Ant所實現功能與此類似。像make,gnumake和nmake這些編譯工具都有一定的缺陷,但是Ant卻克服了這些工具的缺陷。最初Ant開發者在開發跨平臺的應用時,用樣也是基于這些缺陷對Ant做了更好的設計。Ant 與 makefile Makefile有一些不足之處,比如很多人都會碰到的煩人的Tab問題。
Maven是基于項目對象模型(POM),可以通過一小段描述信息來管理項目的構建,報告和文檔的軟件項目管理工具. 如果你已經有十次輸入同樣的Ant targets來編譯你的代碼、jar或者war、生成javadocs,你一定會自問,是否有一個重復性更少卻能同樣完成該工作的方法。Maven便提供了這樣一種選擇,將你的注意力從作業層轉移到項目管理層。Maven項目已經能夠知道如何構建和捆綁代碼,運行測試,生成文檔并宿主項目網頁.
質量管理平臺sonar搭建。Sonar是一個開源平臺,用于管理Java源代碼的質量。從 Sonar 1.6 版本開始,Sonar從一個質量數據報告工具,轉變成為現在的代碼質量管理平臺。主要特點: 代碼覆蓋:通過單元測試,將會顯示哪行代碼被選中 改善編碼規則 搜尋編碼規則:按照名字,插件,激活級別和類別進行查詢 項目搜尋:按照項目的名字進行查詢 對比數據:比較同一張表中的任何測量的趨勢
Windows平臺下使用Nexus搭建Maven本地倉庫服務器(Maven私服)
ant自動進行遠程部署,以及壓縮,jar包等等
本文比較完整的講述GNU make工具,涵蓋GNU make的用法、語法。同時重點討論如何為一個工程編寫Makefile。作為一個Linux程序員,make工具的使用以及編寫Makefile是必需的。系統、詳細講述make的中文資料比較少,出于對廣大中文Linuxer的支持,本人在工作之余,花了18個多月時間完成對“info make”的翻譯整理,完成這個中文版手冊。本書不是一個純粹的語言翻譯版本,其中對GNU make的一些語法和用法根據我個人的工作經驗進行了一些詳細分析和說明,也加入了一些個人的觀點和實踐總結。本書的所有的例子都可以在支持V3.8版本的GNU make的系統中正確執行。 <br> 閱讀本書之前,讀者應該對GNU的工具鏈和Linux的一些常用編程工具有一定的了解。諸如:gcc、as、ar、ld、yacc等;同時在書寫Makefile時,需要能夠進行一些基本的shell編程。這些工具是維護一個工程的基礎。如果大家對這些工具的用法不是很熟悉,可參考項目資料。
持續集成(continuous integration)作為敏捷編程的基石現在已經被絕大多數的開發團隊所廣泛采用。而持續集成的工具現如今也是百花齊放,各有千秋,本文主要對比了在Java領域中比較常見的幾種CI server(因為公司要求統一整個公司的CI server)。如果想了解更多的工具
Nexus 是Maven倉庫管理器,如果你使用Maven,你可以從Maven中央倉庫 下載所需要的構件(artifact),但這通常不是一個好的做法,你應該在本地架設一個Maven倉庫服務器,在代理遠程倉庫的同時維護本地倉庫,以節省帶寬和時間,Nexus就可以滿足這樣的需要。此外,他還提供了強大的倉庫管理功能,構件搜索功能,它基于REST,友好的UI是一個extjs的REST客戶端,它占用較少的內存,基于簡單文件系統而非數據庫。這些優點使其日趨成為最流行的Maven倉庫管理器。
最近由于工作原因在研究、應用Maven,有了一些體會就 寫成了此文。本文雖然是Maven2的入門文章,但并不涉及Maven的歷史、下載與安裝,這些內容可以到Maven的官方網站上了解。本文主要是關注 Maven中的重要概念,并以一個實例來闡述使用Maven的基本方法。
Maven1.0已經歷了幾年的時間,并且作為Ant的替代品已被廣大的開發人員所接收,但它并沒有在很大程度使開發人員從Ant的 build.xml文件中解脫出來。Maven1.0速度慢并且笨拙,使用起來的困難度并不亞于使用Ant的項目。事實上,它的核心是基于Ant實現的。 在經過了幾乎徹底的重寫后,Maven2.0誕生了。
持續集成測試白皮書持續集成整體介紹。Hudson是一個可擴展的持續集成引擎。主要用于:持續、自動地構建/測試軟件項目.監控一些定時執行的任務。Hudson擁有的特性包括:1)易于安裝-只要把hudson.war部署到servlet容器,不需要數據庫支持。2)易于配置-所有配置都是通過其提供的web界面實現。3)集成RSS/E-mail/IM-通過RSS發布構建結果或當構建失敗時通過e-mail實時通知。4)生成JUnit/TestNG測試報告。5)分布式構建支持-Hudson能夠讓多臺計算機一起構建/測試。6)文件識別-Hudson能夠跟蹤哪次構建生成哪些jar,哪次構建使用哪個版本的jar等。
內容提要123持續集成的概念和作用持續集成的工具和方法Demo存在的問題開發提交代碼可能造成其他人不能編譯或者隱含的Bug,而開發本人意識不到開發環境正常,但是部署時出現問題,時過境遷難以重現….很多系統集成的問題只有在實施甚至用戶使用的時候才能發現。項目已經完成代碼的數量和質量缺少及時的評價和反饋,只能依賴開發工作基本完成后的測試和開發人員的個人匯報不同學校的硬件環境、軟件環境、部署模塊、基礎數據、數字化校園版本等有差異,測試人員難以兼顧。(10年項目白小業務主要在德才環境下測試)補丁與版本之間關系與實際部署只能個人控制,工作量比較大持續集成的概念自動化的、持續的將開發代碼進行構建,并進行自動化的部署、測試、分析,及時反饋持續集成的工具和作用SVN:版本控制Junit:單元測試Selenium:Web自動測試工具Maven:包管理、部署組織工具nuxus:Maven私服Hudson:集成服務器Sonar:項目分析服務器持續集成的做法---測試Junit自動測試:編寫一些測試的基類和工具類,構建測試環境分層測試,Mock解耦使用H2等內存數據庫、Jetty等內存服務器等加速測試Junit的測試目的不是為了尋找bug,而是為了搭建系統的安全網,保證項目的修改、重構、功能開發不會對已有的代碼造成未預料的影響。
Hudson是一個可擴展的持續集成引擎。主要用于:1.持續、自動地構建/測試軟件項目。2.監控一些定時執行的任務。Hudson擁有的特性包括:易于安裝-只要把hudson.war部署到servlet容器,不需要數據庫支持。易于配置-所有配置都是通過其提供的web界面實現。?集成RSS/E-mail/IM-通過RSS發布構建結果或當構建失敗時通過e-mail實時通知。生成JUnit/TestNG測試報告。分布式構建支持-Hudson能夠讓多臺計算機一起構建/測試。?文件識別-Hudson能夠跟蹤哪次構建生成哪些jar,哪次構建使用哪個版本的jar等。
用Maven構建JavaWeb開發環境(Jetty容器)之一Maven是構建Java應用的優秀管理工具,是Apache軟件基金會的頂級項目。其具有開發目錄構建和管理,統一管理第三方依賴,編譯,測試,打包,發布等功能。最大的特點要數第三方依賴管理了,因為其它功能都能從Ant中找到蹤影。以往每個項目獨立管理依賴,使得每個項目打包后都是巨大無比的,而真正的程序文件卻沒有多少,Maven接管第三方依賴后,我們的應用就只有程序文件了,沒有了jar包輕巧很多,而統一的管理,使得我們可以隨意獲取jar資源。初學者使用Maven總是感覺很難上手,其中也有一部分人是被Maven下載資源那瘋狂的做法嚇退的,這就是Maven的精巧之處。
Maven以及其Eclipse插件m2eclipse的安裝檢查JDK的安裝以及環境變量的配置打開