将以下项目结构视为 Gradle build :
backend
|- adapters
|- adapter-common
|- bar-adapter
|- bar-entrypoint
|- bar-models
\- bar-services
\- foo-adapter
|- foo-entrypoint
|- foo-models
\- foo-services
|- backend-common
|- db-conn
|- backend-entrypoint
|- build.gradle
\- settings.gradle
依赖结构如下:
foo-adapter
取决于 foo-entrypoint
和 adapter-common
foo-entrypoint
取决于 foo-services
foo-services
取决于 foo-models
adapter-common
取决于 backend-common
& db-conn
现在我有一个单独的项目
api
我需要的地方foo-adapter
作为依赖。我找到了this问答似乎是同样的情况,但是当我尝试它时,我得到了关于如何没有找到其他项目( adapter-common
, db-conn
等)的错误。我对 要求太多了吗? Gradle 通过告诉它只导入
foo-adapter
然后期望它自己解决所有依赖关系?有什么方法可以在不声明整个
backend
的情况下使其正常工作我的项目 api
设置文件?
最佳答案
如果您的 foo-adapter 项目使用来自其他项目的某些类,则不能在没有其他项目的情况下添加它。没关系,它是一个 jar 或只是未编译的东西。你也需要其他人。将一个项目依赖于另一个项目是一种非常糟糕的方法。最好只使用接口(interface)并将它们放入单独的项目中。因此,您的项目可以独立编译,您只需要一个组合所有这些东西的配置项目。
关于Gradle 依赖设置困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31655359/