10

我正在尝试构建一个 Gradle JAR 项目,它是另一个项目的子项目,并且希望输出 JAR 文件位于父目录中(具体在父目录或兄弟的“lib”目录中)。我如何为此配置 Gradle,这在哪里记录?

4

2 回答 2

20

build.gradle中,添加:

libsDirName = '../../lib'

配置设置显示在java 插件的官方 Gradle 文档中。

顺便说一句,我完全同意 Peter 和 Hiery 给出的评论和答案背后的意图,但有时最简单的解决方案是最好的解决方案。

于 2013-09-16T04:12:55.817 回答
8

同意彼得输入的评论。但是我认为您想表达父项目取决于子模块的输出。表达这一点并确保父级将子模块的输出复制到其“lib”目录更有意义。

task assembleSubModules(type: Copy) {
  destinationDir = file("lib")

  into("lib") {
    project.subprojects.each { p ->
      from(p.tasks.withType(Jar)*.outputs)
    }
  }
}
于 2013-09-03T12:14:41.890 回答