CMP*_*MPS 7 java groovy gradle
我正在使用Gradle作为我的Java项目,我想知道是否可以防止gradle build每次执行时都创建一个jar文件.
此外,是否可以使用自定义任务在特定位置创建具有依赖关系的Jar build/myAppJar/.
这是我到目前为止的自定义任务:
task toJar (type: Jar) {
from configurations.compile.collect { zipTree it }
manifest {
attributes 'Implementation-Title': 'myApp',
'Implementation-Version': 1.0,
'Main-Class': mainClassName
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码将在下面创建jar文件build/libs,并且该文件不包含已编译的文件,只包含依赖项.
谢谢!
该build任务来自java插件.您可以使用以下内容控制jar的构建时间:
jar {
onlyIf { condition }
}
Run Code Online (Sandbox Code Playgroud)
您可以将jar设置为在声明其他内容为true时生成,或者将其设置为false以从不构建jar.
您可以在toJar自定义任务中包含源集,以将已编译的文件包含在jar中.
task toJar (type: Jar) {
from sourceSets.all
}
Run Code Online (Sandbox Code Playgroud)
您明确要求所有编译时依赖项都包含在jar中: from configurations.compile.collect
ref:Gradle java插件