3

我有一个 Gradle 多项目构建,并且必须包含一个必须来自 lib 目录的 JAR 文件。

首先,我有以下结构:

- Directory "project"
  - Directory "sub project 1"
    - Directory "lib"
      - File "A.jar"
  - Directory "sub project 2"

以及“子项目1”的以下“gradle.build”(仅摘录):

repositories {
    flatDir {
        dirs 'lib'
    }
}

当我编译“子项目 2”时出现错误,因为 A.jar 无法解析。为了解决这个问题,我采取了以下方法:

1:我在项目根目录中移动了lib目录

- Directory "project"
  - Directory "sub project 1"
  - Directory "sub project 2"
  - Directory "lib"
    - File "A.jar"

2:我在“gradle.build”中为“项目”定义了lib目录,比如

subprojects {
    repositories {
        flatDir {
            dirs '../lib'
        }
    }
}

3:我从“子项目1”的“gradle.build”中删除了lib dir条目。

现在的问题是:这是一种合理的方法吗?如果不是,推荐的解决方法是什么?

4

1 回答 1

3

如果您希望项目对目录中的库声明单独的依赖关系lib,就像您在使用 Maven 或 Ivy 存储库时所做的那样,那么这种方法很好。

于 2013-02-20T14:06:58.953 回答