Java Gradle子项目依赖关系

Java Gradle子项目依赖关系,java,gradle,Java,Gradle,我绝对是一个新手[试图自学];我想我会从一个非常简单的练习开始! 我有一个主项目(rootproj)和两个子项目(mysub和othersub)。 我已经设法使编译/构建步骤正常工作。。。创建jar文件。 现在我需要将jar文件复制到一个预定义的/现有的文件夹树中,然后再tar/gzip'ing文件夹树。这就是我被卡住的地方。。。无法确定如何调用“任务”来复制jar文件 以下是我的settings.gradle和build.gradle文件内容:- 格雷德尔酒店 mysub build.grad

我绝对是一个新手[试图自学];我想我会从一个非常简单的练习开始! 我有一个主项目(rootproj)和两个子项目(mysub和othersub)。 我已经设法使编译/构建步骤正常工作。。。创建jar文件。 现在我需要将jar文件复制到一个预定义的/现有的文件夹树中,然后再tar/gzip'ing文件夹树。这就是我被卡住的地方。。。无法确定如何调用“任务”来复制jar文件

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

格雷德尔酒店 mysub build.gradle 其他附属建筑物 毫无疑问我在做一些愚蠢的事,但那是什么

task copymyjars(type: Copy, dependsOn :[jar]) {
    from 'build/libs/myjar.jar'
    from 'mysub/build/libs/mysub.jar'
    into '../mydir/lib'
}
依赖于
Jar
任务,然后将
Jar
复制到您的目录中


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

gradle copymyjars有什么问题?@Aseem Bansal我的问题是,两个copyxxx任务都没有被调用,并且在构建完成后我无法确定如何调用它们。谢谢,现在可以用了。我没有使用dependsOn,而是在build.doLast()方法中使用task.execute()。可能不是最好的方法,但它是有效的!感谢Aseem的关注。gradle copymyjars有什么问题?@Aseem Bansal我的问题是,两个copyxxx任务都没有被调用,我不知道如何在构建完成后调用它们。谢谢,现在可以用了。我没有使用dependsOn,而是在build.doLast()方法中使用task.execute()。可能不是最好的方法,但它是有效的!谢谢你的关注。
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"
apply plugin: 'java'

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