如何使用gradle的java插件生成多个jar文件

时间:2013-07-23 19:02:34

标签: gradle build.gradle

我有一个使用java插件设置的多项目gradle构建,如下所示:

myProj/
  settings.gradle
  build.gradle
  util/
    build.gradle

在我的util项目中,我想生成2个jar ...一个用于packageA,一个用于packageB。我是一个带有gradle的菜鸟所以任何帮助都会非常感激。以下是我的设置和gradle文件:

的Myproj / settings.gradle

include 'util'

的Myproj /的build.gradle

subprojects {
    apply plugin: 'java'

    repositories {
        maven {
            url "http://mymavenurl"
        }
    }

    sourceSets {
        main {
            java {
                srcDir 'src/java'
            }
        }
    }
}

的Myproj / util的/的build.gradle

dependencies {
    .
    .
    .
}
jar {
    baseName = 'packageA'
    includes = ['com/mycomp/packageA']
}
task packageBJar(type: Jar) {
    dependsOn classes
    includes = ['com/mycomp/packageB']
    baseName = 'packageB'
}

当我尝试构建我的项目时,输出是:

:util:compileJava
:util:processResources UP-TO-DATE
:util:classes
:util:jar
:util:assemble
:util:compileTestJava UP-TO-DATE
:util:processTestResources UP-TO-DATE
:util:testClasses UP-TO-DATE
:util:test
:util:check
:util:build

我希望看到:util:packageBJar课后,但我没有运气。

1 个答案:

答案 0 :(得分:4)

一种方法是将packageBJar声明为archives配置的工件:

artifacts {
    archives packageBJar
}

现在gradle assemble,以及gradle build,也会产生packageBJar