Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
gradle:为什么没有针对所有源集的jar任务_Gradle_Build_Source Sets - Fatal编程技术网

gradle:为什么没有针对所有源集的jar任务

gradle:为什么没有针对所有源集的jar任务,gradle,build,source-sets,Gradle,Build,Source Sets,添加了sourceSet web,但没有相应的任务: apply plugin: 'java' sourceSets { web } Build tasks ----------- assemble - Assembles the outputs of this project. build - Assembles and tests this project. buildDependents - Assembles and tests this project and all pro

添加了sourceSet web,但没有相应的任务:

apply plugin: 'java'
sourceSets {
    web
}

Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
buildDependents - Assembles and tests this project and all projects that depend on it.
buildNeeded - Assembles and tests this project and all projects it depends on.
classes - Assembles main classes.
clean - Deletes the build directory.
jar - Assembles a jar archive containing the main classes.
testClasses - Assembles test classes.
webClasses - Assembles web classes.
我期望完成以下任务

webJar

Gradle组装和生成:不生成web源集

每个源集没有一个jar任务,因为在大多数项目中,这个jar不是必需的。例如,java项目附带两个源集(main和test)。不需要测试源集的jar,因为您可以在没有它的情况下运行测试

如果您需要一个用于附加源集的jar,您可以轻松创建一个:

task myJar(type:Jar){
    from sourceSets.mySourceSet.output  
}

答案是:因为java插件不是这样设计的。为什么要使用
webJar
?通常需要从sourceSet for Java创建jar,如果是从sourceSet.mySourceSet.output创建的?