Gradle jar 的自定义任务
Gradle custom task for jar
我正在为我的 Java 项目使用 Gradle,我想知道是否可以防止 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
}
}
以上代码将在build/libs
下创建jar文件,该文件不包含编译后的文件,只包含依赖项。
谢谢!
build
任务来自 java
插件。您可以控制何时构建 jar,如下所示:
jar {
onlyIf { condition }
}
您可以将 jar 设置为在声明其他内容为 true 时构建,或者将其硬设置为 false 以从不构建 jar。
您可以在 toJar
自定义任务中包含源集,以将编译后的文件包含到您的 jar 中。
task toJar (type: Jar) {
from sourceSets.all
}
您明确要求将所有编译时依赖项包含在此处的 jar 中:from configurations.compile.collect
我正在为我的 Java 项目使用 Gradle,我想知道是否可以防止 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
}
}
以上代码将在build/libs
下创建jar文件,该文件不包含编译后的文件,只包含依赖项。
谢谢!
build
任务来自 java
插件。您可以控制何时构建 jar,如下所示:
jar {
onlyIf { condition }
}
您可以将 jar 设置为在声明其他内容为 true 时构建,或者将其硬设置为 false 以从不构建 jar。
您可以在 toJar
自定义任务中包含源集,以将编译后的文件包含到您的 jar 中。
task toJar (type: Jar) {
from sourceSets.all
}
您明确要求将所有编译时依赖项包含在此处的 jar 中:from configurations.compile.collect