Gradle依赖设置混乱

时间:2015-07-27 14:07:13

标签: gradle dependency-management

将以下项目结构视为 Gradle 构建:

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-entrypointadapter-common
foo-entrypoint取决于foo-services
foo-services取决于foo-models
adapter-common取决于backend-common& db-conn

现在我有一个单独的项目api,我需要foo-adapter作为依赖项。我发现this Q& A似乎是相同的情况但是当我尝试它时,我得到的错误是关于如何找不到其他项目(adapter-commondb-conn等)

我是通过告诉它只是导入foo-adapter然后期望它引入并解决所有依赖项本身而从 Gradle 中提出太多要求了吗?

如果没有在我的backend设置文件中基本上声明整个api项目,有没有办法让它工作?

1 个答案:

答案 0 :(得分:1)

如果您的foo-adapter项目使用其他项目中的某些类,则不能在没有其他项目的情况下添加它们。不重要的是它是一个罐子或只是未编译的东西。你也需要其他人。将项目依赖于另一个项目是一种非常糟糕的方法。最好只使用接口并将它们放入单独的项目中。因此,您的项目可以独立编译,您只需要一个结合了所有内容的配置项目。