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

Spigot插件Maven构建失败:无法访问AdvancementDisplayType

Spigot插件Maven构建失败排查指南
  • 核对Maven核心配置细节
    先确保maven-compiler-plugin配置完全对齐Java 8,不仅要设置source和target版本,还要选用兼容Java 8的稳定插件版本:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version> <!-- 该版本对Java 8支持稳定 -->
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <encoding>UTF-8</encoding> <!-- 避免字符编码异常导致的编译失败 -->
        </configuration>
    </plugin>
    

    同时检查Spigot依赖的坐标与仓库配置是否匹配当前开发的服务器版本,例如适配1.12.2版本的配置:

    <repositories>
        <repository>
            <id>spigotmc-repo</id>
            <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
        </repository>
    </repositories>
    <dependencies>
        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot-api</artifactId>
            <version>1.12.2-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    
  • 清理缓存并强制重新构建
    执行命令mvn clean install -U,其中-U参数会强制更新所有依赖快照,避免本地缓存的依赖文件损坏或版本不匹配。如果问题依旧,手动删除本地Maven仓库中Spigot相关目录(如~/.m2/repository/org/spigotmc),再重新拉取依赖执行构建。

  • 排查新增代码的隐性依赖问题
    即使同步适配了Java 8,新增代码可能用到了当前Spigot依赖版本未提供的API。比如依赖1.12.2版本Spigot时,使用了1.16+才新增的Player#sendActionBar重载方法,会直接导致编译失败。可对照Spigot官方API文档,核对新增代码中的方法是否存在于指定的依赖版本中。

  • 检查Maven插件兼容性
    如果pom.xml中使用了maven-shade-plugin等打包插件,需确认插件版本兼容Java 8——例如maven-shade-plugin建议使用3.2.4版本,高版本可能要求Java 11及以上。另外重点查看Maven输出的具体错误栈,定位最原始的错误信息(如package xxx does not exist或cannot access class xxx),这是快速定位问题的关键。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 09:05:40