如何使用Gradle将源代码发布到本地maven存储库中?

2022-09-04 06:28:43

我正在开发两个相关的项目。其中一个是“助手”,另一个是“主要”一个。我不断更新“主要”,但有时我也在更新“助手”之一。之后,我在gradle的maven插件中运行目标,并在本地maven存储库中获取jar。之后,我在“主”项目中进行gradle更新,并链接了更新的jar。install

有两个问题。

1)如果继续使用maven插件,那么如何将源代码发布到本地maven存储库中?

2)我可以在没有maven插件的情况下做类似的事情,只使用Gradle吗?


答案 1

使用“maven-publish”插件发布源代码很容易:

apply plugin: "maven-publish"

task sourceJar(type: Jar) {
  from sourceSets.main.allJava
}

publishing {
    publications {
        mavenJava(MavenPublication) {
          from components.java

          artifact sourceJar {
            classifier "sources"
          }
        }
     }
}

然后发布到本地 maven run:gradle publishToMavenLocal

文档中的更多信息: https://docs.gradle.org/current/userguide/publishing_maven.html#gsc.tab=0


答案 2

我相信一个更干净,更简洁的解决方案是使用,它提供了与Maven的任务相匹配的任务。更新您的以包括以下内容:maven-plugininstallinstallbuild.gradle

apply plugin: 'maven'

然后,要将(例如安装)发布到 Maven 本地存储库,请运行:或 .另请参阅此解决方案:Gradle 替代 mvn 安装gradle install./gradlew install

注意:当前的Gradle文档(截至v4.9)说是“Old Maven插件”(但它没有被弃用)。https://docs.gradle.org/current/userguide/maven_plugin.htmlmaven-plugin

我认为这是目前这个问题最简单的解决方案。


推荐