You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maven上传Zip与Pom至Artifactory失败,请求排查配置问题

问题排查与修复方案

一、settings.xml语法错误

你的settings.xml存在重复闭合标签,导致Maven无法正确解析服务器认证信息:

<servers>
    <server>
    <id>maven-snapshot-local</id>
    <username>svcjenkins</username>
    <password>***</password>  
    </server>
   </server> <!-- 此标签多余,必须删除 -->
</servers>

修正后的settings.xml:

<settings>
    <interactiveMode>false</interactiveMode>
    <profiles/>
    <servers>
        <server>
            <id>maven-snapshot-local</id>
            <username>svcjenkins</username>
            <password>***</password>  
        </server>
    </servers>
</settings>

二、pom.xml配置缺陷

1. 错误绑定maven-deploy-plugin与deploy-file命令

deploy:deploy-file是独立的部署命令,无需在pom的build插件中预先配置,反而会和命令参数冲突,建议移除该插件配置。

2. 未关联仓库ID与认证信息

pom中直接在插件内写仓库URL,但未指定对应的server id,导致Maven无法匹配settings中的认证信息。需添加distributionManagement节点关联认证。

3. 版本号不符合Maven规范

LATEST-SNAPSHOT不是合法的Maven版本格式,SNAPSHOT版本必须为X.X.X-SNAPSHOT形式(如1.0-SNAPSHOT),LATEST是仓库元数据的特殊关键字,不能直接作为版本号使用,这会引发元数据检索失败。

修正后的pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>fa</groupId>
    <artifactId>FIXCommon</artifactId>
    <version>1.0-SNAPSHOT</version> <!-- 修改为合法SNAPSHOT版本 -->
    <packaging>pom</packaging>

    <!-- 添加分发仓库,关联settings中的server id -->
    <distributionManagement>
        <snapshotRepository>
            <id>maven-snapshot-local</id>
            <url>https://artifactory.domain.dev/artifactory/maven-snapshot-local</url>
        </snapshotRepository>
    </distributionManagement>

    <build>
        <!-- 移除多余的maven-deploy-plugin配置 -->
    </build>
</project>

三、正确部署命令

如果要同时部署pom和zip文件,使用以下命令:

mvn -U -X clean deploy

若需单独部署zip文件(配合修正后的pom),使用deploy:deploy-file并指定参数:

mvn deploy:deploy-file \
  -DgroupId=fa \
  -DartifactId=FIXCommon \
  -Dversion=1.0-SNAPSHOT \
  -Dpackaging=zip \
  -Dfile=fix-common.zip \
  -DrepositoryId=maven-snapshot-local \
  -Durl=https://artifactory.domain.dev/artifactory/maven-snapshot-local

四、额外验证点

  • 确认settings.xml路径正确:Maven默认读取~/.m2/settings.xml或MAVEN_HOME/conf/settings.xml
  • 检查密码一致性:确保settings中的密码与curl使用的完全一致(注意特殊字符是否需要转义)
  • 验证Artifactory权限:确认maven-snapshot-local仓库允许用户svcjenkins执行部署操作

内容的提问来源于stack exchange,提问作者Veljko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 18:04:53