android - 私有(private) Maven 存储库中的多模块 android 项目

标签 android maven artifactory

我有一个多模块 android 项目,目前我们团队中的任何人都可以从我们的私有(private) maven 存储库访问模块。

我们正在使用 aws 中托管的 jFrog Artifactory 来管理存储库。我们项目的结构是这样的

应用程序 -lib1 -lib2 -lib2a -lib2b

我想知道是否有一种方法可以使 lib2alib2b 不能作为单独的模块访问,而只能在有人将父模块的依赖项添加到他们的项目在这种情况下是 lib2

最佳答案

I want to know if there is a way by which lib2a and lib2b is not accessible as separate modules but only accessible when someone adds the dependency of the parent module in their project which is lib2 in this case

简答:
,你不能这样做。

长答案:
当您将 Artifact 放入 Maven 存储库时,您将拥有 Artifact 文件(可能是您的 Android 库的 aar)和一个 pom 文件。

pom 文件还描述了 Artifact 的传递依赖性。
目前您无法指定要使用的父依赖项或特定的 Maven 存储库(这个正在开发中)。

这意味着一个构建系统,例如gradle,读取依赖,从repos下载pom文件并下载所有传递依赖。
当您下载传递依赖项时,无法指定您是刚刚下载了父项还是直接下载了它。

它可以无条件可用,也可以不可用。

关于android - 私有(private) Maven 存储库中的多模块 android 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57591099/

相关文章:

android - Maps V2 InfoWindow 中的动态内容

java - Maven 的最终内存输出

docker - 'artifactory' 不受支持的 docker v2 存储库请求意味着什么

node.js - NPM Install 不适用于代理后面的 Artifactory

maven - 声明性Jenkinsfile使用单独的阶段进行Maven/Gradle构建并发布到Artifactory

C#如何将图像保存到SD卡?

android - 在离线状态下使用 smack android 获取好友请求的问题

android - 使用 Android Studio 生成发布 SHA1 证书

maven - 如何将 Maven 项目配置为不期望 Eclipse 中的资源目录

maven - 如何将 maven 模块导入 Android Studio 项目