Gradle multiproject和lib jar目录

时间:2013-02-20 13:50:08

标签: java gradle

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

首先,我有以下结构:

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

以下'subdle.build'(仅限摘录)为“子项目1”:

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:我从“thegradle.build”中删除了“子项目1”的lib目录条目。

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

1 个答案:

答案 0 :(得分:2)

如果您希望项目在lib目录中声明各个依赖项,就像使用Maven或Ivy存储库时一样,那么方法就可以了。