【发布时间】:2017-10-14 11:37:59
【问题描述】:
我正在尝试将 aar 发布到我全新的私有 Maven 服务器。 我的 aar 依赖于另一个 aar,即嵌入 jar 文件。
在这里使用 Artifactory 的“好”(和工作..)方法是什么?
Main aar
|
|__ Shared aar
|
|__ Toy jar
|
|__ Totoy jar
当我尝试在 Android 应用程序中使用 Main 时,当它进入 Shared 中使用的类时,我遇到了一个不错且残酷的错误:
java.lang.NoClassDefFoundError: Failed resolution of: [.. class embedded in Totoy jar]
我尝试了多种组合,例如在 maven 上发布 Shared,将其引用为
compile "com.myapp.Shared:1.0.0"
在 Main 中,对 Main 执行相同操作,或者只是将其引用为 compile (project_module)
我的 .jar 文件是否也应该发布到私有 Maven 并在 Daugther 中引用(这样我的所有依赖项都将包含在我的 Maven 中)?
jar 是 Cling 和相关的依赖项(无缝),用于 Shared 中的某些类,这些类是从 Main aar 调用的。
当我发布共享库并直接在示例中使用它时,我没有遇到相同的错误(这意味着不会发生崩溃,仅当我使用主库时才会发生崩溃,它本身嵌入共享)。
当所有这些都在一个项目中定义以统治它们并且所有编译命令都定义为“内部模块”依赖项时,它工作正常,我猜问题出在共享库的 jar 上,但没有找到解决方法...
感谢您的帮助!
编辑
我设法使它工作,请参阅我的答案。
【问题讨论】:
标签: android maven jar artifactory aar