Gradle - 从模块继承存储库

2024-01-10

首先,我解释一下我的项目设置。我使用 Android Studio 中使用的“项目/模块”一词。

我的项目设置如下:

  • LibraryProject => 一个仅对我的库进行分组的项目,如有必要,我可以在其他项目中使用它

    • 备份库(模块)
    • 数据库库(模块)
    • 主要实用程序库(模块)
    • 对话框库(模块)
  • 我的项目1

    • 应用程序(项目)
    • DialogLibrary(模块,引用自 DIRFFERENT 项目)

我的 Project1 现在如下所示:

1)我引用了我想要使用的其他项目中的模块(完成于settings.gradle (Project Settings) file:

include ':app'

include ':dialogLibrary '
project(':dialogLibrary ').projectDir = new File(settingsDir, '../LibraryProject/DialogLibrary ')

2)我将外部库模块添加为我的应用程序的依赖项build.gradle:

dependencies {
    compile project(':dialogLibrary ')
}

我的 LibraryProject 如下所示:

我将存储库和依赖项直接添加到模块的“build.gradle”(这足以自行构建模块而不会出现问题):

allprojects {
    repositories {
        maven { url 'https://dl.bintray.com/drummer-aidan/maven' }
    }
}

dependencies {
    compile 'com.afollestad:material-dialogs:0.7.5.2'
}

Problem

到目前为止的设置不适用于 MyProject1。我必须添加maven { url 'https://dl.bintray.com/drummer-aidan/maven' }也到 MyProject1,compile project(':dialogLibrary ')是不足够的。我必须添加应该以某种方式从 LibraryModule 继承到 MyProject1 项目的依赖项build.gradle再次如下:

allprojects {
    repositories {
        mavenCentral()
        maven { url 'https://dl.bintray.com/drummer-aidan/maven' } // com.afollestad:material-dialogs
    }
}

否则,我无法编译我的项目。这种方式看起来像是做了两次可能可以自动完成的事情。但如何呢?这样,每当我包含 LibraryProject 中的模块时,我都必须检查是否需要额外的 Maven 存储库...


我认为这与 Gradle 不了解这一事实有关LibraryProject构建时的 settings.gradle 文件MyProject1。所以它包括dialogLibrary就好像它是它自己的一个正常子项目一样。这解释了 Maven 存储库不知道的原因MyProject; LibraryProject的配置尚未加载。

也许你可以包括dialogLibrary通过LibraryProject?虽然我做了一些测试但无法让它工作。这可能与 Gradle 的限制有关。 StackOverflow 上有一篇关于多个 settings.gradle 文件的文章here https://stackoverflow.com/questions/12154031/multiple-settings-gradle-files-for-multiple-projects-building/.

解决方法可能是构建 LibraryProject 的模块并使用它们。例如,将 DialogLibrary 构建为 jar,将其上传到 Maven 存储库,然后在您的 App 项目中仅包含 DialogLibrary 作为正常依赖项(不要忘记包含 Maven 存储库)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Gradle - 从模块继承存储库 的相关文章

随机推荐

  • 通过证书身份验证实现传输安全

    当我访问我的 web 服务 localhost MyService MyService svc 时 出现以下错误 服务 SslRequireCert 的 SSL 设置与 IIS Ssl SslNegotiateCert 的 SSL 设置不匹
  • 量角器、茉莉花和第一次失败时的停止测试

    在尝试弄清楚如何使某些 jasmine 期望语句依赖于先前的期望语句时 我发现在 Jasmine 2 3 0 之前 没有办法 看第一次期望失败后停止茉莉花测试 https stackoverflow com questions 221191
  • Meebo 等网站如何存储用户名和密码?

    我最近用过Meebo http www meebo com 我必须承认 我对在这样的网站中输入 IM 登录信息有点偏执 他们如何存储我的每个单独 IM 服务的用户名和密码 只有当某个网站获取我的密码并对其执行某种类型的不可逆转的单向功能时
  • WMPLib 经常停止播放

    我用以下方法播放mp3和m4as private void playmp3 string path WMPLib WindowsMediaPlayer a new WMPLib WindowsMediaPlayer a URL path a
  • 如何在特定代码行之后停止 set.seed() ?

    我想在特定行之后结束 set seed 的范围 以便对其余代码进行真正的随机化 这是一个示例 其中我希望 set seed 适用于 rnorm 第 4 行 但不适用于 nrow 第 9 行 set seed 2014 f lt functi
  • PopupMenu 单击导致 RecyclerView 滚动

    我里面有一个溢出按钮CardView in Recyclerview 每当我单击按钮时 我都会显示一个弹出菜单 但也会显示RecyclerView正在向下滚动一项 谁能帮我停止这种不必要的滚动吗 基本上我试图复制与 Playstore 中相
  • 使用表单事件动态生成提交的表单

    我对 FormEvents 有一个小问题 我想要动态填充 3 个字段 我解释一下 我有3个字段 项目 gt 框 gt 单元格 用户选择一个项目 框列表被更新 他选择一个框 单元列表被更新 为此 我使用 FormEvent 就像文档中所说的那
  • 即使退出该功能后,.NET 内存也不会释放

    我有一些 C 代码可以读取huge文件 经过一些操作后 将其引用设置为 null 并退出该函数 但内存不会释放 XmlDocument xmlDoc new XmlDocument xmlDoc LoadXml xmlString XmlS
  • 从数据库中查找视觉相似照片的算法?

    TinEye Google 和其他公司提供 反向图像搜索 您可以上传照片 几秒钟内它就会找到类似的照片 这些算法有开源版本吗 我知道 SIFT 和其他用于查找 视觉上相似 照片的算法 但它们仅适用于将一张照片直接与另一张照片进行比较 即 找
  • 创建一个用于从 Java/Clojure 执行的 jar 文件

    我想创建一个用 java 和 clojure 实现的 jar 文件来执行 这就是我采取的步骤 让我的java代码调用clojure代码 我可以生成一个包含 clojure 核心和我的 clojure 代码的 jar 文件 ThingOne
  • 活动指示器未出现

    我有一些运行时间约为 0 2 秒的繁重代码 我这样设置活动指示器 但是 它并没有显示出来 而是整个屏幕冻结了大约 0 2 秒 直到代码完成 func heavyWork self actvityIndicator startAnimatin
  • Ajax.ActionLink 在表中的标题后插入?

    我有一个 table 有一个标题行 我试图在标题行下添加一个项目 但似乎无法向ActionLink功能 InsertionMode InsertBefore将标题行的 ID 指定为更新目标只是将该行放在表的顶部 Replace替换表格的标题
  • 多次调用 CryptHashData

    我推测这是在创建一个 md5 哈希值 但对到底要哈希的内容感到困惑 char val1 4 DWORD val2 CryptCreateHash hCryptProv CALG MD5 0 0 hHash Creates hash obje
  • 在 MathJax 中显示长除法符号 )‾‾‾‾‾‾ 的方法

    有没有办法在 MathJax 中格式化长除法 使其看起来像这样 125 Explanations 4 500 4 4 1 4 10 5 4 1 8 4 2 8 20 10 8 2 20 4 5 20 0 20 20 0 但显然格式正确 这是
  • Django:SECRET_KEY 的环境变量不起作用

    I have SECRET KEY os environ SECRET KEY in my prod py and SECRET KEY secret string在我的 bashrc 中 这会导致 502 错误 但如果我设置SECRET
  • C++11 方法创建一个可以在需要时“停止”的计时器

    我必须每隔 X 秒调用一个函数来显示长时间运行的函数的进度 但如果该函数在进度更新的下一个刻度之前结束 我想删除通知 我最近刚刚开始使用 C 11 我不知道是否有办法使用正确的 c 11 语法 对象来实现此目的 基本上 我试图弄清楚是否有一
  • gridview 突出显示当前行

    是否有内置方法可以突出显示网格视图中当前选定的行 我的 gridview 中的每一行都有一个按钮 通过 ButtonField 当用户按下此按钮时 背景颜色会发生变化 我这样做 Protected Sub gvTransferOwner R
  • 网络音频播放器 - iOS 下一首歌曲和上一首歌曲按钮不在控制中心

    这是我多年来断断续续研究的问题 但从未找到答案 我发现 MediaSession api 可用于填充歌曲数据 但下一曲目和上一曲目操作处理程序不会使下一个 上一个按钮出现在 iOS 控制中心中 if mediaSession in navi
  • 如何使用 ASP.NET Core MVC 和 Angular 使用 Identity Server 4 连接到 Web API

    我在收到回复后写信在这里发帖 https github com IdentityServer IdentityServer4 issues 1179 issuecomment 304032678 我正在开发一个应用程序 该应用程序具有一个
  • Gradle - 从模块继承存储库

    首先 我解释一下我的项目设置 我使用 Android Studio 中使用的 项目 模块 一词 我的项目设置如下 LibraryProject gt 一个仅对我的库进行分组的项目 如有必要 我可以在其他项目中使用它 备份库 模块 数据库库