如何将本地 Maven m2 作为属性传递给 Gradle?
Posted
技术标签:
【中文标题】如何将本地 Maven m2 作为属性传递给 Gradle?【英文标题】:How can you pass in a local Maven m2 to Gradle as a property? 【发布时间】:2020-11-05 06:52:11 【问题描述】:我目前正在尝试通过 Jenkins Freestyle 项目构建我的 android 应用程序。我能够在 Android Studio 中成功构建它,但 Jenkins 无法找到依赖项(我知道它安装在我的机器上的 .m2 中)。有没有办法可以将我的 .m2 文件夹传递到 Gradle 系统或项目属性中,以便它知道在那里进行搜索?
我的目标是能够在不直接编辑我的 build.gradle 文件的情况下做到这一点。
【问题讨论】:
【参考方案1】:为了更改存储库 - 您需要修改 build.xml
mavenLocal()
- 提供对本地 .m2 的访问 - 但不建议参见 https://docs.gradle.org/current/userguide/declaring_repositories.html#sec:case-for-maven-local
您可以有条件地添加 mavenLocal() 并从命令行控制标志
【讨论】:
【参考方案2】:如果我没听错的话,你是在本地系统上运行 Jenkins,否则我不知道如何从工作站的本地 Maven 缓存中获取依赖项。
如果您不想更改您的build.gradle
文件,可以注册一个系统特定的初始化脚本。它需要放在~/.gradle/init.d
中,并且应该包含如下内容:
allprojects
repositories
mavenLocal()
【讨论】:
以上是关于如何将本地 Maven m2 作为属性传递给 Gradle?的主要内容,如果未能解决你的问题,请参考以下文章
如何强制 IntelliJ 中的 Maven 从本地 .m2 存储库中提取特定依赖项