1.1
安裝 nexus
1
)下載
http://nexus.sonatype.org/downloads/ nexus-2.2-01-bundle.zip
2) 執行nexus-2.1.2\bin\jsw\windows-x86-32中的install-nexus.bat安裝服務
3)執行start-nexus.bat啓動服務
4)打開瀏覽器,輸入 http://localhost:8081/nexus ,看到成功界面
1.2
nexus 端口配置在nexus/conf/nexus.properties 文件中
1.3
nexus 中庫的類型:
hosted宿主倉庫:本地倉庫,創建hosted宿主倉庫,只填 id和name就可以,Storage Location不要填,默認會是在work目錄下;
proxy代理倉庫,代理遠程;創建proxy庫,只填 id和name和遠程庫的url即可;
group,倉庫組 可以代替所有已經選進去的庫,Available Repositories 可用的庫;
2.搭建Maven的Nexus私服,方解決開發團隊無法上網的情況,當然就是都能上網,私服也能減少上網浪費的時間,減少中央庫的壓力:
如果你已經安裝了nexus,可以在maven的settings.xml配置鏡像,這樣所有jar的下載機依賴分析都經過你的nexus
,nexus會緩存這些數據,以後其他人在獲取不用再重新衝互聯網下載了,也能解決其他人不能連入互聯網的問題
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<name>Nexus Mirror</name>
<url>http://192.168.1.5:81/nexus/content/groups/public/</url>
</mirror>
3.重點:把本地下載的repository整個發佈到nexus
用了私服後,
有事後出現有些jar依賴,無法用上面說的鏡像的形式下載下來,
甚至配置了存在這些jar的 maven庫的nexus 代理庫,也取不到,
也有無法代理第三方的maven庫的情況,原因未知:第三方庫新版本的jar總是無法索引的我自己的nexus中
這種情況,我的處理辦法是:
1)先去掉上面的鏡像,用可以連入互聯網的計算機,下載所有依賴,這樣這些依賴就存到你的 本機 的maven緩存中了(一般是在C:\Documents and Settings\登錄名\.m2\repository 下面)
2)然後在nexus 中創建 一個新的 Hosted Repository類型的庫,或者乾脆使用 nexus 帶的thirdparty庫,將呢 maven緩存全部copy到 nexus212\sonatype-work\nexus\storage\thirdparty中
3)這樣就可以了,萬一,如果這樣還找不到,我碰上過一次原因是:
因爲以前用鏡像的形式,導致activiti-engine-5.10.jar找不到,結果maven在我的緩存中創建了一個activiti-engine-5.10.jar.lastUpdated文件和後來下載成功的activiti-engine-5.10.jar並存在同一個文件夾中
我將它們複製到nexus 帶的thirdparty庫中後,搜索到的 activiti-engine 結果找的的是 activiti-engine-5.10.jar.lastUpdated而不是 activiti-engine-5.10.jar 所有還是提示找不到
如果是這種情況,刪除activiti-engine-5.10.jar.lastUpdated就行了,甚至刪除maven緩存中所有 *.lastUpdated 。
4.
對於類型爲release的proxy代理資源,資源中版本爲snapshot的jar包將被阻塞掉,客戶端無法獲取,如果獲取需要新建一個類型爲snapshot的proxy代理,指向與前者相同的遠程倉庫地址
5.
validate: 驗證項目是否正確以及相關信息是否可用
compile: 編譯
test: 通過junit進行單元測試
package: 根據事先指定的格式(比如jar),進行打包
integration-test: 部署到運行環境中,準備進行集成測試
verify: 對包進行有效性性和質量檢查
install: 安裝到本地代碼庫
deploy: 在集成或發佈環境,將包發佈到遠程代碼庫
1、archetype( 內建插件,他的create任務將建立項目骨架 ): archetype:create
2、groupId 項目的java包結構:com.aboy
3、artifactId 項目的名稱:webmap
mvn clean 清理(刪除target目錄下編譯內容)
mvn war:exploded 僅打包Web頁面文件
mvn eclipse:eclipse
mvn eclipse:clean
生成清除Eclipse項目結構:
mvn help:effective-pom 顯示Maven默認設置
6.pom文件 ,我原來的計算機上不出錯,在一個新的機器上 遇到了一個 這樣的異常
Multiple annotations found at this line:
- Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-resources-plugin:2.4.3:resources
(execution: default-resources, phase: process-resources)
- Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-resources-plugin:2.4.3:testResources
(execution: default-testResources, phase: process-test-resources)
- Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile
(execution: default-compile, phase: compile)
- Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-compiler-plugin:2.3.2:testCompile
(execution: default-testCompile, phase: test-compile)
後來發現 這個異常是 eclipse 的自帶 maven的異常。eclipse 默認 3.6 和 3.7 已經添加 maven的 插件了 ,但有問題
使用 m2eclispe 替換 eclpse的maven。