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

时间:2017-03-13 13:41:46

标签: java gradle

我正在开发两个相关项目。其中一个是"帮手"一个又一个是"主要"一。我不断更新" main",但我不时也在更新"帮助"一。之后我在gradle的maven插件中运行install目标并在当地的maven repo中获取罐子。之后,我在" main"中进行gradle更新。项目并更新了罐子链接。

有两个问题。

1)如果使用maven插件,那么如何将源代码发布到本地maven repo中呢?

2)我可以在没有maven插件的情况下进行类似操作,只能使用Gradle吗?

3 个答案:

答案 0 :(得分:14)

使用“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

答案 1 :(得分:1)

也许你对一个多模块项目更好。然后安装的必要性根本没有出现。

讨论-sources.jar的主题here

答案 2 :(得分:1)

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

apply plugin: 'maven'

然后将其发布(例如安装)到Maven本地存储库,运行:gradle install./gradlew install。 另请参阅以下解决方案: Gradle alternate to mvn install

注意:当前的Gradle文档(从v4.9开始)说maven-plugin是“ Old Maven插件”(但不建议使用)。 https://docs.gradle.org/current/userguide/maven_plugin.html

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