为什么赢了';gradle jar构建一个gradle构建的jar吗?
在我的Gradle项目中,我定义了一个额外的源集为什么赢了';gradle jar构建一个gradle构建的jar吗?,gradle,Gradle,在我的Gradle项目中,我定义了一个额外的源集 sourceSets { sample { java { srcDir 'sample/java' } compileClasspath += sourceSets.main.output + sourceSets.main.compileClasspath } } 然后,我添加一个任务: task sampleJar(type: Jar) { cl
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
}
如果我执行gradlebuild,那么额外的jar文件将从额外的源代码集中生成。但是,如果我使用gradle jar,它就不会使用。有什么原因吗
当我浏览输出消息时,我看到:
gradle build
在要执行的任务中有sampleJar
:
但是
gradlejar
没有
但是不确定为什么?因为
jar
只是组装主jar文件的任务
另一方面,build
是顶级生命周期任务,它依赖于assembly
。而组装
是
取决于:jar和创建附加到归档配置的工件的所有其他任务
由于您的sampleJar
特别创建了一个附加到归档配置的工件,assemble
,因此build
依赖于它