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