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

企业防火墙下无法构建Quarkus项目:Maven仓库403与registry授权问题

解决企业防火墙下Quarkus项目构建的Maven仓库访问问题

一、处理远程仓库403 Forbidden错误

1. 配置Maven代理

找到你的Maven配置文件settings.xml(路径通常是~/.m2/settings.xml,全局配置在{MAVEN_HOME}/conf/settings.xml),添加代理节点:

<settings>
  <proxies>
    <proxy>
      <id>corp-proxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>你的公司代理IP/域名</host>
      <port>代理端口号</port>
      <!-- 代理需要认证的话,填你的域账号密码 -->
      <username>域账号</username>
      <password>账号密码</password>
      <!-- 内部地址跳过代理,比如公司Nexus、本地地址 -->
      <nonProxyHosts>*.yourcompany.com|localhost|127.0.0.1</nonProxyHosts>
    </proxy>
    <!-- 如果公司同时有HTTPS代理,再添加一个https节点 -->
    <proxy>
      <id>corp-proxy-https</id>
      <active>true</active>
      <protocol>https</protocol>
      <host>你的公司HTTPS代理地址</host>
      <port>HTTPS代理端口</port>
      <username>域账号</username>
      <password>账号密码</password>
      <nonProxyHosts>*.yourcompany.com|localhost|127.0.0.1</nonProxyHosts>
    </proxy>
  </proxies>
</settings>

2. 切换到公司内部Nexus镜像

如果公司有内部Maven镜像仓库,在settings.xml里配置镜像覆盖默认仓库,避免直接访问外部仓库被拦截:

<settings>
  <mirrors>
    <mirror>
      <id>corp-nexus</id>
      <mirrorOf>central</mirrorOf>
      <url>http://公司Nexus地址/repository/maven-public/</url>
    </mirror>
    <!-- 给Quarkus扩展仓库单独配置镜像(如果Nexus已代理registry.quarkus.io) -->
    <mirror>
      <id>quarkus-nexus-mirror</id>
      <mirrorOf>quarkus-registry</mirrorOf>
      <url>http://公司Nexus地址/repository/quarkus-registry-proxy/</url>
    </mirror>
  </mirrors>
</settings>

确认公司Nexus已配置代理中央仓库和registry.quarkus.io,且你的账号有读取权限


二、解决本地仓库后的401 Unauthorized及JSON反序列化错误

1. 添加本地仓库认证配置

如果是用Nexus搭建本地仓库,必须在settings.xml里配置服务器认证,确保Maven能正常访问:

<settings>
  <servers>
    <server>
      <id>corp-nexus</id>
      <username>你的Nexus账号</username>
      <password>你的Nexus密码</password>
    </server>
    <server>
      <id>quarkus-nexus-mirror</id>
      <username>你的Nexus账号</username>
      <password>你的Nexus密码</password>
    </server>
  </servers>
</settings>

注意:<id>必须和mirror节点里的id完全一致,否则认证不生效

2. 修复Quarkus扩展元数据序列化问题

这个问题大多是本地缓存的扩展元数据损坏或未同步导致:

  • 手动删除本地Maven仓库中Quarkus相关缓存目录:~/.m2/repository/io/quarkus/quarkus-platform-descriptor、~/.m2/repository/io/quarkus/registry
  • 重新创建项目时加上--no-cache参数,强制拉取最新元数据:
    mvn io.quarkus.platform:quarkus-maven-plugin:3.2.0.Final:create --no-cache -DprojectGroupId=com.yourcorp -DprojectArtifactId=quarkus-demo
    
  • 如果是Nexus本地仓库,检查Quarkus代理仓库的同步任务是否完成,确保元数据完整。

额外排查点

  • 用mvn help:system命令测试代理是否生效,查看输出日志确认Maven是否使用了配置的代理
  • 确认公司防火墙允许访问registry.quarkus.io(443端口),或已通过Nexus代理该地址
  • 验证账号权限:确保你的域账号/Nexus账号有对应仓库的读取权限,避免401/403错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 17:23:26