java - Gradle:应用程序看不到从子模块的第二级导入的代码
问题描述
我的项目中有传递依赖项的问题。有一个应用程序(主)模块,其中包括 gradle 库模块 A,其中包括模块 B。
问题是应用程序看不到模块 B 中的类。模块 A 当然可以看到 B 中的类,但应用程序看不到。
默认情况下,依赖项应该是可传递的,但什么也没有发生。
所以app gradle文件有:
implementation project(path: ':A')
模块 A 有:
implementation project(path: ':B')
如果我将: implementation project(path: ':B') 添加到 app gradle 文件中,它可以工作,但我必须排除它,因为我将使用产品风格,这对我不再适用。
这个问题有什么解决方法吗?
解决方案
如果使用implementation
,则无法从使用它的模块访问这些类。
为了从子模块中公开类,您应该替换implementation
为api
在模块“A”中,使用:
api project(':B')
在模块“app”中,使用:
implementation project(':A')
推荐阅读
- python - Why does my python code work after coding but not on boot?
- eclipse-plugin - Eclipse programmatic relaunch with new vmargs, vmargs not present on restart
- oracle - 正确的隔离级别?
- python - How to parse a variables to subprocess.run in python
- c++ - Qt在循环中调用线程
- python - google collabs /keras 不会正确下载数据集
- r - 使用 dplyr 合并数据帧
- react-native - 在导航参数上反应原生使用 useEffect
- java - java.lang.ClassCastException:com.codename1.ui.Label 无法转换为 com.codename1.components.MultiButton
- codeblocks - 使用 CodeBlocks 构建 wxWidgets 程序时出错