Maven學習六之利用mvn deploy命令上傳包

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能夠知道該包的版本了。

相關文章
相關標籤/搜索