作爲目前最強大的Maven倉庫管理器(Repository Manager),Nexus每天都在進步,由於它是開源的,任何人都可以隨時幫助它改進。這裏是Nexus相關的郵件列表地址:http://nexus.sonatype.org/dev/mailing-lists.html 。
這裏介紹下幾個Nexus 1.1 及 1.1.1 中引入和完善的兩個功能:
Nexus WAR
在Nexus 1.0 及之前的版本中,Nexus是通過一個內嵌的Jetty啓動的。比如,在Windows下,要啓動Nexus,我們需要進入 %Nexus_install%\bin\jsw\windows-x86-32 目錄,執行Nexus.bat腳本。或者,可以使用InstallNexus.bat將Nexus安裝爲一個Windows服務,之後就可以 StartNexus.bat 和 StopNexus.bat 。大部分情況下,這很方便,但是,肯定有一部分用戶希望能直接將 Nexus 扔到Tomcat下,像Hudson那樣。
OK,Nexus 1.1 中我們做到了,1.1.1中又修復了一些bug,Nexus WAR相當穩定了,至少在Tomcat下如此,GlassFish下還有些問題。由於筆者參與了這部分開發,因此在這裏王婆賣瓜下了,以下是一個安裝Nexus WAR的簡單教程,以Tomcat爲例。
- 到這個地址下載 nexus-1.1.1.war:http://nexus.sonatype.org/downloads/ 。
- 將該文件放到 %TOMCAT_HOME%\webapps 目錄下(你可以更改文件名爲nexus.war,以方便web訪問)。
- 啓動Tomcat,你可以通過瀏覽器訪問Nexus了,如 http://localhost:8080/nexus ,注意Nexus的默認登陸用戶名密碼是 admin/admin123。
- 如果你不做任何配置,你會發現在你的用戶目錄下有一個名爲 sonatype-work/nexus 的文件夾,該文件夾下面存儲了Nexus相關的配置文件,以及Nexus倉庫的內容(時間長了會比較大)。
- 如果你不希望在用戶目錄下存儲這些內容,你也可以自定義,第一種方法是設置一個key爲 PLEXUS_NEXUS_WORK 的環境變量,使其值指向你希望的目錄。兩一種方法是配置WAR中的 WEB-INF\plexus.properties
文件,如 nexus-work=/path/to/your/customization 。
Nexus WAR 介紹完畢,想用的去下載吧,下面再介紹一個也是1.1中引入的比較有用的功能。
索引瀏覽(Index Browsing)
在1.0及之前的版本中,Nexus支持倉庫的本地存儲瀏覽,這是一個非常棒的特性,通過樹狀的UI,我們可以清晰的看到Nexus倉庫中的內容,並能很方便的下載。
但是,你會發現,假如一個Nexus倉庫是代理倉庫(proxy repository),默認它不會有任何內容,只包含索引文件,只有在收到請求後(如來自Maven),它纔會去遠程倉庫下載內容。之後你才能看到本地緩存的內容。好在我們有搜索功能,即使本地存儲不包含緩存內容,只要遠程倉庫包含而且我們下載了索引,就能搜索的到。
1.1引入了索引瀏覽功能,只要下載遠程索引,我們就可以以樹狀的形式瀏覽遠程倉庫的內容:
假如你代理了中央倉庫,那麼你就可以在不下載實際內容的情況下清晰的瀏覽它所包含的所有內容,這很實用哦。
最後,Sonatype對外提供了一個公共倉庫(基於Nexus),大家可以隨時瀏覽,或者配置對它的代理:http://repository.sonatype.org/ 。