閱讀143 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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

 

mvn:deploy在整合或者發布環境下執行,將最終版本的包拷貝到遠程的repository,使得其他的開發者或者工程可以共享。

 

以將ojdbc14傳到nexus中的thirdparty為例

 

一 配置settings.xml

 

因為nexus是需要登陸操作,當然可以通過配置免登陸,這是後話。

在settings.xml的<servers></servers>

<server>   
<id>thirdparty</id>   
<username>admin</username>
<password>admin123</password>   
</server>

 

當然如果你要上傳包去其他倉庫,可依照此例,如

 

<server>   
<id>central</id>   
<username>admin</username>   
<password>admin123</password>   
</server>

 

如果進行deploy時返回Return code is: 401錯誤,則需要進行用戶驗證或者你已經驗證的信息有誤。

 

 

二 cmd輸入命令

 

mvn deploy:deploy-file -DgroupId=com.xy.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar -Dfile=E:\ojdbc14.jar -Durl=https://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文件的。

 

解決辦法

耐心把命令重新敲一遍。

 


我的新微信公眾號【IT徐胖子】,請您關注!


 

最後更新:2017-04-02 15:15:29

  上一篇:go Maven學習六之利用mvn deploy命令上傳包
  下一篇:go Navigation