mvn:deploy在整合或者發佈環境下執行,將最終版本的包拷貝到遠程的repository,使得其餘的開發者或者工程能夠共享。服務器
以將ojdbc14傳到nexus中的thirdparty爲例oracle
一 配置settings.xmlide
由於nexus是須要登錄操做,固然能夠經過配置免登錄,這是後話。url
在settings.xml的<servers></servers>spa
<server>
<id>thirdparty</id>
<username>admin</username>
<password>admin123</password>
</server>code
固然若是你要上傳包去其餘倉庫,可依照此例,如server
<server>
<id>central</id>
<username>admin</username>
<password>admin123</password>
</server>xml
若是進行deploy時返回Return code is: 401錯誤,則須要進行用戶驗證或者你已經驗證的信息有誤。開發
二 cmd輸入命令cmd
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能夠看到。
上傳成功後,在nexus界面點擊3rd party倉庫能夠看到這包。
三 一些問題
發現問題
在敲擊該命令的時候,有時候看到提示須要POM文件,但上傳包是不須要pom文件的。
可能緣由
最大多是你語句打錯了如多了一個空格和換行,這樣語句直接截斷到換行前面,cmd就找它能夠認識的語句執行,好比直接執行mvn,而mvn是對項目打包,是要pom文件的。
解決辦法
耐心把命令從新敲一遍。
Dversion表示版本信息,怎樣獲得一個jar包準確的版本呢?
解壓該包,會發現一個叫MANIFEST.MF的文件,這個文件就有描述該包的版本信息。好比Manifest-Version: 1.0能夠知道該包的版本了。