Java Gradle构建GitHub Maven项目Paper及自动获取最新Jenkins构建版本求助
解决Gradle自动依赖PaperMC最新构建的问题
我来帮你搞定这个头疼的问题——让你的Java Gradle项目自动拉取Paper的最新构建版本,再也不用每次手动改版本号了。下面有两种经过验证的靠谱方案,你可以根据自己的项目情况选择:
方案1:直接配置仓库+动态版本号
Paper的Jenkins构建仓库支持Gradle直接拉取依赖,我们可以用动态版本标识让Gradle自动获取最新的成功构建版本:
在你的
build.gradle(或build.gradle.kts)中添加Paper的构建仓库:repositories { maven { url = uri("https://ci.destroystokyo.com/job/Paper/lastSuccessfulBuild/artifact/paperclip/repo/") } // 记得保留你项目原本需要的仓库,比如Maven Central mavenCentral() }然后在依赖声明里使用
latest.integration作为版本号,Gradle会自动识别并拉取最新的可用版本:dependencies { // 如果你是开发插件,只需要API依赖 implementation 'io.papermc.paper:paper-api:latest.integration' // 如果需要完整的Paper服务器Jar(比如用于运行测试),可以添加: // implementation 'io.papermc.paper:paper:latest.integration' }小提示:
latest.integration会指向Jenkins上最后一次成功构建的版本,Gradle默认会缓存版本信息,如果你需要强制刷新获取最新版,可以执行gradle build --refresh-dependencies命令。
方案2:使用Paper官方Gradle插件(推荐)
Paper官方提供了专门的Gradle插件,不仅能自动管理Paper依赖,还能帮你处理Minecraft混淆映射等开发细节,配置起来更省心:
先在
settings.gradle中添加插件仓库:pluginManagement { repositories { gradlePluginPortal() maven { url = uri("https://repo.papermc.io/repository/maven-public/") } } }回到
build.gradle,应用插件并配置自动获取最新版本:plugins { id 'io.papermc.paperweight.userdev' version '1.5.11' // 可以替换为最新的插件版本 } paperweight { paper { // 使用latest.integration自动拉取最新构建 version = 'latest.integration' // 如果需要锁定某个Minecraft版本分支,比如1.20.4,可以添加: // branch = '1.20.4' } } dependencies { // 插件会自动引入paper-api等必要依赖,直接声明即可 compileOnly 'io.papermc.paper:paper-api' }
常见问题排查
- 如果你之前尝试第三方插件失败,大概率是仓库配置错误或者版本号格式不对。Paper的源码仓库不能直接作为Maven依赖使用,必须用其构建产出的仓库地址。
- 如果发现Gradle没有拉取最新版本,记得加上
--refresh-dependencies参数强制刷新缓存。 - 要是你需要指定某个特定版本的Paper,只需要把
latest.integration换成具体的版本号(比如1.20.4-R0.1-SNAPSHOT)就行。
内容的提问来源于stack exchange,提问作者Patrick Gerth
相关产品推荐
相关产品推荐

