为什么我的jar文件不包含任何类文件?

时间:2016-03-10 14:34:32

标签: gradle jar task build.gradle

我尝试向gen添加与gen2任务完全相同的任务build.gradleJar}:

version = "0.0.1"
apply plugin: 'java'

task('gen', type: Jar) {
}

task gen2(type: Jar)

运行

gradle jar

在运行

时生成包含.class - 文件的JAR文件
gradle gen

gradle gen2

生成一个 NOT 包含任何.class个文件的JAR文件。

我的课程定义有什么问题?

1 个答案:

答案 0 :(得分:3)

要构建一个包含main中所有类的jar,作为默认的jar任务,请执行以下操作:

task gen2(type: Jar){
    baseName = 'gen2Jar'
    from sourceSets.main.output
}

您也可以from(sourceSets.main.output){ include "package" }自定义包含的包。

或者,要复制默认jar任务中的设置:

task gen(type: Jar){
    baseName = 'genJar'
    with jar
}

事实上你可以拥有both of these in the same build.gradle。运行gradle jar构建默认jar。 gradle gen构建gen​​Jar.jar和gradle gen2构建gen​​2Jar.jar,所有这些都包含java.main中的所有类