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

编译Galactifun插件后Jar包缺失配置文件无法加载求助

问题:Minecraft插件Galactifun编译后Jar内缺失配置文件无法加载

问题详情

  • 近期fork了Minecraft插件Galactifun用来适配服务器需求,编译完成后插件无法正常加载
  • 原项目用Gradle的plugin-yml插件自动生成plugin.yml,构建后build目录里能找到这个文件,但最终生成的Jar包里没有,服务器加载时提示plugins\Galactifun.jar内无paper-plugin.yml或plugin.yml,无法识别插件类型
  • 已经试过三种办法都没用:
    1. 删掉plugin-yml插件,改用手动放置的传统plugin.yml,还是报错
    2. 配置plugin-yml生成paper-plugin.yml,问题依旧
    3. 同时开启自动生成和手动配置,编译时提示存在两个plugin.yml文件

排查修复方案

1. 检查Gradle打包配置,确保配置文件纳入Jar

打开项目的build.gradle(或build.gradle.kts),确认打包任务将配置文件复制到Jar根目录:

  • Groovy DSL配置:
jar {
    from('src/main/resources') {
        include 'plugin.yml'
        include 'paper-plugin.yml'
    }
}
  • Kotlin DSL配置:
tasks.jar {
    from(sourceSets.main.get().resources) {
        include("plugin.yml")
        include("paper-plugin.yml")
    }
}

这一步能保证资源文件被正确打包进Jar,而非仅留在build目录中。

2. 确认plugin-yml插件配置正确性

如果继续使用plugin-yml,检查配置是否生成了正确路径的文件:

  • 插件默认应将文件生成到src/main/resources下,避免配置错误导致文件生成到其他位置
  • 若生成paper-plugin.yml,需确保主类添加了@PaperPlugin注解,同时plugin-yml配置中指定paper类型:
pluginYml {
    paper {
        name = 'Galactifun'
        main = '你的主类全路径'
        // 补充版本、作者等必填配置项
    }
}

3. 清理缓存后重新编译

执行以下Gradle命令清理缓存并重新构建,避免缓存导致的文件缺失:

./gradlew clean build

构建完成后,前往build/libs/目录找到生成的Jar文件,手动解压检查根目录是否存在plugin.yml或paper-plugin.yml。

4. 检查资源目录结构

确认项目资源目录为标准的src/main/resources,手动放置的配置文件必须存放在该目录下,Gradle才会默认将其纳入打包范围。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 10:59:53