Gradle子项目依赖项

时间:2017-06-09 17:19:38

标签: java gradle

我绝对是一个傻瓜新手[试图自学];我以为我从一个非常简单的练习开始! 我有一个主项目(rootproj)和2个子项目(mysub和othersub)。 我设法让编译/构建步骤正常工作......创建了jar文件。 现在我需要在tar / gzip文件夹树之前将jar文件复制到预定义/现有文件夹树中。这就是我被卡住的地方......无法弄清楚如何调用这些任务'复制jar文件。

这是我的settings.gradle和build.gradle文件内容: -

settings.gradle

include 'othersub'
include 'mysub'
include 'rootproj'

mysub build.gradle

apply plugin: 'java'

dependencies {
    compile project(':mysub')
    compile files('ext_lib/commons-lang3-3.5.jar')
    ...
    compile files('ext_lib/jsonjava.jar')
}

jar {
    archiveName 'myjar.jar'
}

task copymyjars(type: Copy) {
    println 'In copymyjar'
    from 'build/libs/myjar.jar'
    from 'mysub/build/libs/mysub.jar'
    into '../mydir/lib'
}

task copyotherjar(type: Copy) {
    println 'In copyotherjar'
    from 'othersub/build/libs/othersub.jar'
    into '../mydir/other/lib'
}

copymyjars.dependsOn ":.build"
copyotherjar.dependsOn ":othersub.build"

othersub buid.gradle

apply plugin: 'java'

jar {
    archiveName 'othersub.jar'
}

毫无疑问,我做了些蠢事,但它是什么?

1 个答案:

答案 0 :(得分:0)

task copymyjars(type: Copy, dependsOn :[jar]) {
    from 'build/libs/myjar.jar'
    from 'mysub/build/libs/mysub.jar'
    into '../mydir/lib'
}

依赖Jar任务,然后将jars复制到您的目录