gradle - 为什么 gradle jar 不构建 gradle build 的 jar?
问题描述
在我的 Gradle 项目中,我定义了一个额外的 sourceSet。
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
}
如果我> gradle build
从附加源集中构建附加 jar 文件。但是,如果我这样做> gradle jar
,它不会。有什么理由吗?
当我浏览输出消息时,我看到:
gradle build
在sampleJar
要执行的任务中有:
但
gradle jar
没有。
但不确定为什么?
解决方案
因为jar
只是组装主jar文件的任务。
build
另一方面,是顶层生命周期任务,它依赖于assemble
。并记录assemble
为
取决于:jar,以及创建附加到档案配置的工件的所有其他任务。
由于您sampleJar
精确地创建了一个附加到档案配置的工件assemble
,因此build
依赖于它。
推荐阅读
- python - 我的界面没有使用 cx_freeze 显示我的日历
- c# - 无法在 google chrome c# 中更新/删除 cookie
- postgresql - 从表中读取唯一数据并以分布式方式对其进行处理
- java - 使用 Exception 来防止使用不需要的参数实例化类是一种好习惯吗
- mongodb - 在 MongoDB 中聚合过去 n 天
- android - 找不到符号getEditText()android
- angular - Mat-Table 排序标题未呈现
- javascript - 如何在反应中从堆叠数组中过滤数组
- firefox - 在 Firefox 中第一次从对象 URL 下载总是失败
- javascript - 我对 Promises 如何解决的理解是否正确?