我有一个commons gradle项目,它是我所有其他项目的共享库。
在依赖项目的build.gradle中,我包含了commons jar,如下所示:
dependencies {
...
runtime files('../commons/build/libs/commons-1.0.jar')
}
这可以通过相对路径构建。但这就像硬编码一个特定的库。在这种情况下,实现构建的标准方法是什么?
答案 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