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

如何为Minecraft 1.19.3插件添加CraftBukkit作为Maven依赖?

解决Maven添加CraftBukkit 1.19.3依赖的问题

核心问题分析

你遇到的「引用不存在的文件」错误,本质是systemPath路径配置有误,且将CraftBukkit jar放在resources目录本身就不合理——resources目录是用来打包插件资源的,并非存放依赖jar的地方。另外,system scope的依赖管理方式非常脆弱,依赖本地绝对路径,换环境就会失效,更推荐将生成的jar安装到本地Maven仓库。


推荐解决方案:将BuildTools生成的jar安装到本地Maven仓库

  1. 定位BuildTools生成的jar文件
    BuildTools执行完成后,jar文件默认存放在其运行目录的target文件夹下,文件名应为craftbukkit-1.19.3-R0.1-SNAPSHOT.jar(注意版本号后缀需和pom里的version完全一致),同时找到对应的bukkit-1.19.3-R0.1-SNAPSHOT.jar和spigot-1.19.3-R0.1-SNAPSHOT.jar。

  2. 执行Maven安装命令
    打开终端,进入jar所在目录,分别执行以下命令(替换path/to/为实际文件路径):

    # 安装craftbukkit
    mvn install:install-file -Dfile=path/to/craftbukkit-1.19.3-R0.1-SNAPSHOT.jar -DgroupId=org.bukkit -DartifactId=craftbukkit -Dversion=1.19.3-R0.1-SNAPSHOT -Dpackaging=jar
    
    # 安装bukkit
    mvn install:install-file -Dfile=path/to/bukkit-1.19.3-R0.1-SNAPSHOT.jar -DgroupId=org.bukkit -DartifactId=bukkit -Dversion=1.19.3-R0.1-SNAPSHOT -Dpackaging=jar
    
    # 安装spigot(如果需要)
    mvn install:install-file -Dfile=path/to/spigot-1.19.3-R0.1-SNAPSHOT.jar -DgroupId=org.spigotmc -DartifactId=spigot -Dversion=1.19.3-R0.1-SNAPSHOT -Dpackaging=jar
    
  3. 修改pom.xml的依赖配置
    删除原来带system和systemPath的依赖块,替换为正常的依赖声明(使用provided scope,因为服务器运行时会提供这些依赖,不需要打包到你的插件jar中):

    <dependency>
        <groupId>org.bukkit</groupId>
        <artifactId>craftbukkit</artifactId>
        <version>1.19.3-R0.1-SNAPSHOT</version>
        <scope>provided</scope>
    </dependency>
    
    <dependency>
        <groupId>org.bukkit</groupId>
        <artifactId>bukkit</artifactId>
        <version>1.19.3-R0.1-SNAPSHOT</version>
        <scope>provided</scope>
    </dependency>
    
  4. 刷新Maven依赖
    在IDE中执行Maven的clean和compile命令,依赖即可正常识别。


备选方案:修正system scope的路径配置(不推荐)

如果你坚持使用system scope,按以下步骤调整:

  1. 在项目根目录新建lib文件夹,将BuildTools生成的craftbukkit jar放入其中。
  2. 修改pom.xml的systemPath为相对路径(使用Maven内置变量${project.basedir}指向项目根目录),同时确保文件名完全匹配:
    <dependency>
        <groupId>org.bukkit</groupId>
        <artifactId>craftbukkit</artifactId>
        <version>1.19.3-R0.1-SNAPSHOT</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/lib/craftbukkit-1.19.3-R0.1-SNAPSHOT.jar</systemPath>
    </dependency>
    
  3. 注意:这种方式会让项目依赖本地文件结构,团队协作或换机器时需要手动同步lib文件夹,灵活性极差。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 19:06:21