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

将自研libGDX核心模块发布至Artifactory遇阻求助

解决libGDX核心模块发布到Artifactory的问题

我完全懂你现在的处境——只做了libGDX核心模块、没搭桌面/安卓这些常规模块,默认的构建配置确实会在发布环节卡壳。先把你给出的构建脚本片段整理清楚,再一步步拆解解决:

你的现有构建脚本片段

buildscript {
repositories {
mavenLocal()
mavenCentral()
maven { url "https://oss.sonatype.org/content/repos..." }
}
}

接下来咱们针对性调整配置,让发布流程跑通:

1. 引入Artifactory与Maven发布插件

首先得在构建脚本里加入必要的插件,不然没法和Artifactory做交互:

buildscript {
    repositories {
        mavenLocal()
        mavenCentral()
        maven { url "https://oss.sonatype.org/content/repos..." }
        // 加入Gradle插件仓库,用来拉取Artifactory插件
        maven { url "https://plugins.gradle.org/m2/" }
    }
    dependencies {
        // 引入Artifactory Gradle插件,选最新稳定版即可
        classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.28.1"
    }
}

// 应用核心插件
apply plugin: "com.jfrog.artifactory"
apply plugin: "maven-publish"

2. 配置模块发布信息

因为只有核心模块,得手动定义发布的构件元数据,包括项目组ID、模块ID和版本号:

// 替换成你的项目组ID,比如com.yourteam.gdx
group = "你的项目组ID"
// 替换成你的模块版本,快照版就用1.0.0-SNAPSHOT
version = "1.0.0"

publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java
            
            // 建议同时发布源码和Javadoc,方便其他项目调试
            artifact sourceJar
            artifact javadocJar
        }
    }
}

// 生成源码Jar的任务
task sourceJar(type: Jar) {
    from sourceSets.main.allJava
    archiveClassifier.set("sources")
}

// 生成Javadoc Jar的任务
task javadocJar(type: Jar) {
    from javadoc
    archiveClassifier.set("javadoc")
}

3. 配置Artifactory连接与仓库信息

这里要填你的Artifactory服务器地址、仓库Key和认证信息,别把明文密码硬编码,用环境变量或者Gradle属性更安全:

artifactory {
    // 替换成你的Artifactory服务器地址
    contextUrl = "http://your-artifactory-server:8081/artifactory"
    publish {
        repository {
            // 替换成你的发布仓库Key,正式版用libs-release-local,快照版用libs-snapshot-local
            repoKey = "libs-release-local"
            // 从环境变量或Gradle属性读取账号密码
            username = System.getenv("ARTIFACTORY_USER") ?: project.properties["artifactoryUser"]
            password = System.getenv("ARTIFACTORY_PASS") ?: project.properties["artifactoryPass"]
        }
        defaults {
            publications("mavenJava")
            publishArtifacts = true
            publishPom = true
        }
    }
}

4. 执行发布命令

所有配置完成后,在终端运行这条命令就能完成发布:

./gradlew clean build artifactoryPublish

最后提几个注意点:

  • 确保你的Artifactory账号有对应仓库的发布权限
  • 如果是快照版本,记得把版本号改成x.x.x-SNAPSHOT,并切换到快照仓库
  • 检查sourceSets.main是否正确指向你的核心模块源码目录,纯libGDX核心模块一般不需要额外调整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:01:20