gpt4 book ai didi

java - 如何使用 gradle 创建可重用源的 Jar 库?

转载 作者:行者123 更新时间:2023-11-30 07:12:38 25 4
gpt4 key购买 nike

我现在正在项目 A 上进行开发,我认识到,外包一些部件是有意义的,因为这些东西是可重用的。我现在正在考虑使用 gradle 创建一个新项目(Project-B),将所有这些可重用源放入其中,然后再次将它们作为依赖项包含在 Project-A 中。

我对 gradle-build-files 有非常基本的了解,所以我的问题是,build.gradle 文件中实现这一点的基本步骤是什么?

最佳答案

我认为最好的选择是将 Project-B 作为库发布到本地 Maven 存储库(这只是文件系统中的一个目录)。当然,如果需要的话,您也可以在某个时候发布到公共(public)存储库。

假设您在 /path/to/repo 创建这样一个本地存储库,您可以执行以下操作。

对于项目 B

在你的gradle.properties中定义一些变量:

pName=your-project-name
pGroup=your-group-name
pVersion=1.0.0

在您的settings.gradle中,设置项目名称:

rootProject.name = pName

在您的 build.gradle 中,应用 Maven 插件:

apply plugin: 'maven'

从其他文件设置这些变量:

group = pGroup
version = pVersion

另外,定义上传任务:

uploadArchives {
repositories {
mavenDeployer {
repository(url: file://localhost/path/to/repo)
}
}
}

然后您可以使用将项目上传到存储库

gradle clean uploadArchives

对于项目 A

将本地存储库添加到 Maven 存储库列表中:

repositories {
maven {
url /path/to/repo
}
mavenCentral()
}

然后添加对您的 Project-B 的依赖项:

dependencies {
compile 'your-group-name:your-project-name:1.0.0'
}

就是这样,当运行诸如 gradle buildgradle eclipse 之类的任务时,Project-A 应该自动拉取 Project-B 的 jar 文件

可选择发布来源

如果您希望将 Project-B 的源代码包含在 Maven 存储库中,以便 IDE 可以显示库的源代码,请将其添加到您的 build.gradle 中:

task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}

artifacts {
archives sourcesJar
}

关于java - 如何使用 gradle 创建可重用源的 Jar 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38955532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com