mvn:deploy在整合或者發佈環境下執行,將最終版本的包拷貝到遠程的repository,使得其餘的開發者或者工程能夠共享。服務器
以將ojdbc14傳到nexus中的thirdparty爲例oracle
一 配置settings.xmlurl
由於nexus是須要登錄操做,固然能夠經過配置免登錄,這是後話。code
在settings.xml的<servers></servers>server
<server>
<id>thirdparty</id>
<username>admin</username>
<password>admin123</password>
</server>xml
固然若是你要上傳包去其餘倉庫,可依照此例,如開發
<server>
<id>central</id>
<username>admin</username>
<password>admin123</password>
</server>cmd
若是進行deploy時返回Return code is: 401錯誤,則須要進行用戶驗證或者你已經驗證的信息有誤。it
二 cmd輸入命令io
mvn deploy:deploy-file -DgroupId=com.xy.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar -Dfile=E:\ojdbc14.jar -Durl=http://localhost:9090/nexus-2.2-01/content/repositories/thirdparty/ -DrepositoryId=thirdparty
DgroupId和DartifactId構成了該jar包在pom.xml的座標,項目就是依靠這兩個屬性定位。本身起名字也行。
Dfile表示須要上傳的jar包的絕對路徑。
Durl私服上倉庫的位置,打開nexus——>repositories菜單,能夠看到該路徑。
DrepositoryId服務器的表示id,在nexus的configuration能夠看到。
Dversion表示版本信息,怎樣獲得一個jar包準確的版本呢?
解壓該包,會發現一個叫MANIFEST.MF的文件,這個文件就有描述該包的版本信息。
好比Manifest-Version: 1.0能夠知道該包的版本了。
上傳成功後,在nexus界面點擊3rd party倉庫能夠看到這包。
三 一些問題
發現問題
在敲擊該命令的時候,有時候看到提示須要POM文件,但上傳包是不須要pom文件的。
可能緣由
最大多是你語句打錯了如多了一個空格和換行,這樣語句直接截斷到換行前面,cmd就找它能夠認識的語句執行,好比直接執行
mvn,而mvn是對項目打包,是要pom文件的。
解決辦法
耐心把命令從新敲一遍。