在Azure DevOps Server 中提交Maven 依賴包(mvn deploy-file)

Contentshtml

1. 概述
2. 必要準備
安裝Java
下載安裝Maven
3. 服務器配置
新建鏈接源
4. 客戶端配置
5. 上傳maven包文件
6. 常見問題
Maven最新版本3.6.2出現異常java

1. 概述

Azure DevOps Server (TFS)能夠實現多種依賴包的託管服務器,例如NuGet、NPM、Maven、Python、Gradle、Azure通用包等。其中Maven庫是許多Java開發人員最爲熟悉的一種庫,Azure DevOps Server提供了一種相似與Maven私服(例如Nexus)的保管理服務。開發人員能夠從Azure DevOps Server中獲取軟件系統依賴的第三方軟件包,也能夠將本身開發的公共軟件包發佈到Azure DevOps服務器上,分享給其餘開發團隊。apache

Azure DevOps中的Maven包管理,遵循標準的Maven包管理協議,開發人員能夠使用任何標準的maven工具上傳和下載依賴包。比較常見的依賴包管理有兩種方式:在編譯流程中自動發佈包文件;使用maven插件deploy-file將已經存在的包文件發佈到服務器上。服務器

若是須要了解在編譯流程中發佈maven包,能夠參考 Azure DevOps Servermaven

本文主要介紹如何使用maven插件deploy-file將已經存在的包文件發佈到服務器上。編輯器

2. 必要準備

  • 安裝Java

在本文中,咱們使用64位java,1.8.0工具

C:\apache-maven-3.6.2\bin>java -version java version "1.8.0_161" Java(TM) SE Runtime Environment (build 1.8.0_161-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode) ui

 
  • 下載安裝Maven

在本文中,咱們使用了Maven版本3.6.0,當前最新的版本3.6.2出現異常,參考後面的常見問題描述。url

3. 服務器配置

新建鏈接源

image

配置名稱和權限spa

image

生成Maven認證信息

image

image

複製在服務器中生成的Maven認證信息,並將其配置到本地計算機的Maven配置文件settings.xml中

image

4. 客戶端配置

使用文本編輯器打開本地計算機中的Maven配置文件,並將上面生成的認證信息粘貼到文檔中的Servers節點中

image

5. 上傳maven包文件

首先咱們須要準備好已經存在的Maven包文件,例以下面的的操做中,咱們使用從互聯網下載的包文件ckfinder.jar
咱們編寫好下面的命令行腳本

mvn deploy:deploy-file -DgroupId=com.ckfinder -DartifactId=ckfinder -Dversion=2.6 -Dpackaging=jar -DrepositoryId=tfs-net-com-cn-collection-c-maven -Dfile=D:\temp\ckfinder.jar -Durl=http://tfs.net.com.cn:8080/tfs/Collection/_packaging/maven/maven/v1

須要對上面的幾個關鍵參數作一些說明:
  • repositoryId:本地Maven配置文件中的server節點名稱,也是上面章節中從Azure DevOps服務器中獲取的認證信息中的服務器名稱;Maven會按照這個名稱查詢到認證信息,提交給服務器
  • file:本地計算機中存貯依賴包文件的完整路徑
  • url:Azure DevOps Server中的Maven庫服務器地址

若是須要了解更多的參數,請參考maven的官方文檔:

6. 常見問題

Maven最新版本3.6.2出現異常

C:\apache-maven-3.6.2\bin>mvn deploy:deploy-file -DgroupId=com.ckfinder -DartifactId=ckfinder -Dversion=2.6 -Dpackaging=jar -DrepositoryId=tfs-mc-net-智能軟件公司-zhanghongjun -Dfile=D:\temp\htmlparser.jar -Durl=http://tfs.mc.net:8080/tfs/智能軟件公司/_packaging/zhanghongjun/maven/v1 [INFO] Scanning for projects... [INFO] [INFO] ------------------< org.apache.maven:standalone-pom >------------------- [INFO] Building Maven Stub Project (No POM) 1 [INFO] --------------------------------[ pom ]--------------------------------- [INFO] [INFO] --- maven-deploy-plugin:2.7:deploy-file (default-cli) @ standalone-pom --- Uploading to tfs-mc-net-智能軟件公司-zhanghongjun: http://tfs.mc.net:8080/tfs/智能軟件公司/_packaging/zhanghongjun/maven/v1/com/ckfinder/ckfinder/2.6/ckfinder-2.6.jar Uploading to tfs-mc-net-智能軟件公司-zhanghongjun: http://tfs.mc.net:8080/tfs/智能軟件公司/_packaging/zhanghongjun/maven/v1/com/ckfinder/ckfinder/2.6/ckfinder-2.6.pom [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2.018 s [INFO] Finished at: 2019-09-26T17:28:41+08:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy-file (default-cli) on project standalone-pom: Failed to deploy artifacts: Could not transfer artifact com.ckfinder:ckfinder:jar:2.6 from/to tfs-mc-net-智能軟件公司-zhanghongjun (http://tfs.mc.net:8080/tfs/智能軟件公司/_packaging/zhanghongjun/maven/v1): Failed to transfer file http://tfs.mc.net:8080/tfs/智能軟件公司/_packaging/zhanghongjun/maven/v1/com/ckfinder/ckfinder/2.6/ckfinder-2.6.jar with status code 400 -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.a

------------------------------------------------------------

http://www.cnblogs.com/danzhang/  DevOps MVP 張洪君

------------------------------------------------------------

相關文章
相關標籤/搜索