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

Maven使用域名配置私有仓库时部署URL丢失斜杠格式错误如何解决

Maven部署Reposilite私有仓库URL斜杠丢失问题解决方案

问题产生原因

  • 核心原因:mvn.example.com对应的反向代理服务(如Nginx、Caddy)配置的HTTP转HTTPS强制重定向规则错误,拼接重定向目标地址时遗漏了路径前的斜杠。从报错可以看出pom中配置的是HTTP地址,实际请求被重定向到HTTPS时,/releases的前缀斜杠被吞,最终变成了错误的mvn.example.comreleases地址。
  • 次要原因:你当前使用的maven-deploy-plugin:2.7为老旧版本,对无末尾斜杠的仓库URL路径拼接兼容性较差,进一步放大了路径错误问题。

解决方案

1. 修正反向代理重定向规则

如果你使用Nginx做反向代理,检查80端口(HTTP服务)的server配置,确保重定向规则完整保留路径信息,正确示例如下:

server {
    listen 80;
    server_name mvn.example.com;
    # 该写法会完整保留请求路径和斜杠,不会出现丢失问题
    return 301 https://$host$request_uri;
}

如果直接使用Reposilite对外提供服务,检查Reposilite配置中的baseUrl参数,确保配置为https://mvn.example.com/(末尾携带斜杠)。

2. 给仓库地址补充末尾斜杠

修改pom.xml内的仓库URL,在路径末尾添加斜杠,规避旧版插件的拼接缺陷:

<url>http://mvn.example.com/releases/</url>

3. 升级maven-deploy-plugin版本(可选)

在pom.xml的build/plugins节点下添加最新版部署插件配置,提升路径处理兼容性:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-deploy-plugin</artifactId>
    <version>3.1.1</version>
</plugin>

4. 直接使用HTTPS地址(可选)

如果不需要走HTTP转HTTPS重定向流程,直接将pom中的仓库地址改为HTTPS协议,绕过重定向步骤即可避免该问题:

<url>https://mvn.example.com/releases/</url>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 11:15:03