Rol*_*and 10 gradle gradle-kotlin-dsl
具有以下多模块设置:
\n\nmulti\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 projA\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 build.gradle.kts\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 projB\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 build.gradle.kts\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 build.gradle.kts\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 settings.gradle.kts\nRun Code Online (Sandbox Code Playgroud)\n\n内容如下(略):
\n\nsettings.gradle.kts
rootProject.name = "multi"\ninclude("projA", "projB")\nRun Code Online (Sandbox Code Playgroud)projA\\build.gradle.kts
dependencies {\n implementation("important-library:1.0")\n}\nRun Code Online (Sandbox Code Playgroud)projB\\build.gradle.kts
dependencies {\n implementation(project(":projA"))\n}\nRun Code Online (Sandbox Code Playgroud)为什么我无法importantlibrary:1.0从访问该内容projB?
什么有效:如果我有一个projA使用该库的类,即使从其中的一个类调用该类,它也可以完美地工作projB(因此间接访问有效)。importantlibrary:1.0从内部直接访问任何类都projB不起作用(未解析的参考)。
我在这里缺少什么?或者需要进行哪些设置才能使其正常工作?
\n\n摇篮版本:5.6.1
\n我认为实现您想要的效果的一个好方法是使用api而不是implementation. implementation意味着仅将依赖关系保留在模块内,而api意味着将它们与模块一起导出。的依赖关系projA将变为:
dependencies {
api("important-library:1.0")
}
Run Code Online (Sandbox Code Playgroud)
这是官方文档的链接:https://docs.gradle.org/current/userguide/java_library_plugin.html#sec :java_library_separation
| 归档时间: |
|
| 查看次数: |
12899 次 |
| 最近记录: |