Gradle:您如何将自己的库作为构建的一部分?

时间:2019-04-17 17:34:57

标签: gradle

我有一个commons gradle项目,它是我所有其他项目的共享库。

在依赖项目的build.gradle中,我包含了commons jar,如下所示:

dependencies {
    ...
    runtime files('../commons/build/libs/commons-1.0.jar')
}

这可以通过相对路径构建。但这就像硬编码一个特定的库。在这种情况下,实现构建的标准方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以将通用jar发布到您的本地Maven存储库中。但是,如果您与一个团队一起开发,则应发布到其他方也可以访问的存储库管理器。

在从属项目中,您只需添加此公共jar,就像您要添加第三方库一样。这样,您就不必在版本控制系统上存储依赖的jar文件。当项目由不同方开发时,这种方式会更方便。

使用mavenlocal的示例

// Common project build.gradle

apply plugin: 'maven-publish'

version = '2.0'
...

publishing {
   publications {
      maven(MavenPublication) {
          groupId = 'com.gradle.sample'
          artifactId = 'project1-sample'
          from components.java
      }
   }
}

您可以使用gradle publishToMavenLocal将通用项目发布到mavenlocal。 (相关项目不能使用新版本的common jar,除非在这种情况下将其发布到mavenlocal)

// Dependent project build.gradle

repositories {
    mavenLocal()
}

dependencies {
    implementation 'com.gradle.sample:project1-sample:2.0'
    ....
}

查看以下链接以获取详细信息。 https://docs.gradle.org/current/userguide/publishing_maven.html