
本文详解 Maven 项目中因 org.jboss.web:jbossweb:7.4.10.Final 依赖在 Spring Plugins 仓库返回 401 Unauthorized 而构建失败的问题,提供正确配置 JBoss 官方仓库的完整方案,并说明原因与最佳实践。
本文详解 maven 项目中因 `org.jboss.web:jbossweb:7.4.10.final` 依赖在 spring plugins 仓库返回 401 unauthorized 而构建失败的问题,提供正确配置 jboss 官方仓库的完整方案,并说明原因与最佳实践。
在 Maven 构建过程中,执行 mvn clean install 时遇到 Could not transfer artifact ... status: 401 Unauthorized 错误,通常表明 Maven 尝试从某远程仓库拉取依赖时被拒绝访问。本例中,错误明确指向 https://repo.spring.io/plugins-release/ ——该仓库已废弃且不再公开开放(自 2022 年起,Spring 官方逐步关闭 plugins-release 等旧仓库的匿名访问,并最终将其重定向至需登录的 UI 界面),因此即使 URL 正确,未经认证的请求也会返回 401。
关键在于:jbossweb:7.4.10.Final 是 JBoss AS / WildFly 相关组件,其官方权威发布源始终是 JBoss Nexus 仓库,而非 Spring 插件库。Maven Repository 网站(mvnrepository.com)仅作索引展示,会标注“可能位于”某仓库,但不保证该仓库当前可用或权限开放。
✅ 正确解法是移除失效的 Spring Plugins 仓库,改用 JBoss 官方发布的稳定仓库:
<repositories>
<!-- 保留中央仓库(必需) -->
<repository>
<id>central</id>
<url>https://repo.maven.apache.org/maven2</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>false</enabled></snapshots>
</repository>
<!-- ✅ 添加 JBoss Releases 仓库 -->
<repository>
<id>jboss-releases</id>
<url>https://repository.jboss.org/nexus/content/repositories/releases/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>false</enabled></snapshots>
</repository>
</repositories>同时确保依赖声明保持简洁、标准(无需额外 classifier 或 scope):
<dependency>
<groupId>org.jboss.web</groupId>
<artifactId>jbossweb</artifactId>
<version>7.4.10.Final</version>
<!-- 注意:jbossweb 是容器内嵌组件,通常不应作为 compile 依赖引入应用工程 -->
<!-- 如非必要,请确认是否真的需要直接依赖它(推荐优先使用更高层抽象如 servlet-api) -->
</dependency>⚠️ 重要注意事项:
- 避免滥用 plugins-release:该仓库已归档,任何新项目都不应再配置;Spring Boot 插件等应通过 https://repo.spring.io/release 或默认中央仓库获取。
- 检查依赖合理性:jbossweb 是 JBoss EAP 6 / WildFly 8 的底层 Web 容器实现(基于 Tomcat 分支),现代 Spring Boot 应用通常无需显式依赖它。若仅为使用 Servlet API,请改用 jakarta.servlet:jakarta.servlet-api(Jakarta EE 9+)或 javax.servlet:javax.servlet-api(Java EE 8-)。
- 网络与镜像兼容性:如企业环境使用 Nexus/Artifactory 私服,请确保私服已代理 repository.jboss.org,或手动添加该远程仓库为代理源。
- 验证仓库可用性:可直接浏览器访问 https://repository.jboss.org/nexus/content/repositories/releases/org/jboss/web/jbossweb/7.4.10.Final/,确认 POM 和 JAR 文件存在且可公开下载。
执行 mvn clean install -U(-U 强制更新快照/元数据)后,依赖将成功解析并下载。此方案兼顾准确性、安全性与长期可维护性,是处理此类“仓库迁移导致 401”问题的标准实践。










