java如何在gradle中单独调用任务
我的身材。gradle文件如下所示
apply plugin: 'java'
repositories {
maven {
mavenCentral()
}
dependencies {
compile "commons-logging:commons-logging:1.0.4",
"commons-codec:commons-codec:1.3"
}
jar {
manifest{
attributes ("Product-Name" : project.name, "${manifestSectionName}")
attributes ("Product-Display-Name" : project.description, "${manifestSectionName}")
}
}
task build1 {
sourceSets {
main {
java {
srcDirs = ['src/java/com/abc/xyz/dir1']
}
}
}
buildDir = 'op'
jar{
archiveName = 'build1.jar'
}
}
task build2 {
sourceSets {
main {
java {
srcDirs = ['src/java/com/abc/xyz/dir2']
}
}
}
buildDir = 'op'
jar{
archiveName = 'build2.jar'
}
}
现在我想调用单个任务来构建单个jar,就像我们在Ant中调用单个目标一样
所以当我把它叫做:gw清洁建筑2 它的大楼是2号楼。jar的方式是正确的,但当我像这样运行它时:gw clean build build1,它仍然是build2。只有罐子
我对gradle很陌生,所以对此不确定
它仍然在建。只是罐子,我不知道为什么会这样。。有人能帮我吗
请注意,这两个任务彼此独立
# 1 楼答案
在配置build1和build2时,您正在配置唯一的、共享的主源集和唯一的、共享的jar任务。由于build2是在build1之后配置的,因此它会覆盖build1设置的配置
取而代之的是构建中的两个额外任务,它们都创建了一个包含不同内容的jar:
但在我看来,这是一个糟糕的设计。如果您想生成不同的JAR,那么您可能应该有几个子项目,都使用java插件,不需要任何配置