为什么不使用gradle jar构建一个gradle build可以做的jar?

时间:2019-04-01 20:42:25

标签: gradle

在我的Gradle项目中,我定义了一个附加的sourceSet。

output (Table C): 
UPC    sales    volume  
123    13.99      2.99
456    13.99      2.99 
121    14.99      1.99
789    31.88     22.99
111    31.88     22.99 
121    13.99      2.99 

然后我添加一个任务:

sourceSets {
    sample {
        java {
            srcDir 'sample/java'
        }
        compileClasspath += sourceSets.main.output + sourceSets.main.compileClasspath
    }
}

如果我执行task sampleJar(type: Jar) { classifier 'sample' from sourceSets.sample.output } artifacts { archives sampleJar } ,则从其他源集构建其他jar文件。但是,如果我做> gradle build,则不会。有什么原因吗?

浏览输出消息时,我看到:

> gradle jar在要执行的任务中有gradle build

但是

sampleJar没有。

但是不确定为什么吗?

1 个答案:

答案 0 :(得分:1)

因为jar只是组装主jar文件的任务。

另一方面,

build是顶级生命周期任务,它取决于assemble。而assembledocumented as

  

取决于:jar和所有其他创建附加到存档配置的工件的任务。

由于您的sampleJar专门创建了一个附加到归档配置assemble的工件,因此build依赖它。