java - Gradle 子项目依赖

标签 java gradle

我绝对是一个 gradle 新手 [试图自学];我想我应该从一个非常简单的练习开始! 我有一个主项目 (rootproj) 和 2 个子项目 (mysub 和 othersub)。 我已经成功地让编译/构建步骤正常工作...jar 文件被创建。 现在,我需要在 tar/gzip 文件夹树之前将 jar 文件复制到预定义/现有的文件夹树中。这就是我陷入困境的地方......无法弄清楚如何调用“任务”来复制 jar 文件。

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

设置.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'
}

毫无疑问我在做一些愚蠢的事情,但是它是什么?

最佳答案

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

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

关于java - Gradle 子项目依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44463498/

相关文章:

java - 测试未在 maven java 中运行

java - Android Studio 在记事本中打开 xml 文件

Gradle maven publish 生成具有重复属性的无效 POM

java - 构建失败,出现异常 react native

java - 检查 2 个不同的相等实例(包含示例)

java - Spring 启动(带 jpa 的 mysql): No bean named 'entityManagerFactory' available

java - 目标相当于 base16().decode(String)

java - Gradle : one jar per classes directory

android - 使用 android-gradle 3 在 Android 库中公开支持库依赖项的正确方法是什么?

gradle - 找不到通过Artifactory在Gradle buildscript block 中声明的依赖项