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

Mapbox Java SDK Maven仓库认证失败(401)求助

Mapbox Java SDK Maven依赖401 Unauthorized错误解决

问题背景

按照Mapbox官方Android相关文档配置Maven仓库引入Mapbox Java SDK(版本6.11.0),执行mvn clean package时触发401未授权错误,无法解析依赖。

错误信息

[ERROR] Failed to execute goal on project : Could not resolve dependencies for project
project:jar:1.0: 
Failed to collect dependencies at com.mapbox.mapboxsdk:mapbox-sdk-services:jar:6.11.0: 
Failed to read artifact descriptor for com.mapbox.mapboxsdk:mapbox-sdk-services:jar:6.11.0: 
The following artifacts could not be resolved: com.mapbox.mapboxsdk:mapbox-sdk-services:pom:6.11.0 (absent): 
Could not transfer artifact com.mapbox.mapboxsdk:mapbox-sdk-services:pom:6.11.0 from/to mapbox (https://api.mapbox.com/downloads/v2/releases/maven): status code: 401, 
reason phrase: Unauthorized (401) -> [Help 1]

当前项目配置

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>com.group1</groupId>
    <artifactId>project1</artifactId>
    <name>Project Name</name>
    <description>Project description</description>

    <dependencies>
        <dependency>
            <groupId>com.mapbox.mapboxsdk</groupId>
            <artifactId>mapbox-sdk-services</artifactId>
            <version>6.11.0</version>
        </dependency>
        <dependency>
            <groupId>com.mapbox.mapboxsdk</groupId>
            <artifactId>mapbox-sdk-turf</artifactId>
            <version>6.11.0</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-shade-plugin</artifactId>
                <executions>
                    <execution>
                        <configuration>
                            <finalName>jar-with-dependencies</finalName>
                            <transformers>
                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>launchClass</mainClass>
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

settings.xml

<settings>
    <servers>
        <server>
            <id>mapbox</id>
            <username>mapbox</username>
            <password>[Token generated on my mapbox account]</password>
        </server>
    </servers>
</settings>

解决方案

  • 添加Mapbox仓库到pom.xml
    当前pom.xml缺少Mapbox仓库声明,Maven无法定位依赖来源。在<project>节点下加入以下配置,注意<id>必须与settings.xml中server的<id>保持一致:

    <repositories>
        <repository>
            <id>mapbox</id>
            <url>https://api.mapbox.com/downloads/v2/releases/maven</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
    
  • 检查Token权限
    确认Mapbox账号生成的Token具备DOWNLOADS:READ权限,无此权限会直接触发401错误,可在账号Token管理页面调整权限。

  • 验证settings.xml路径
    确保配置文件放在正确位置:

    • 全局配置:~/.m2/settings.xml(Linux/macOS)或C:\Users\<用户名>\.m2\settings.xml(Windows)
    • 项目级配置:放在项目根目录.mvn文件夹下
  • 清理Maven缓存
    执行命令清理本地缓存,避免无效缓存干扰:

    mvn clean install -U
    

验证

完成配置后重新执行mvn clean package,即可正常拉取依赖并完成打包。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 11:08:28