使用 Gradle 脚本在常规罐和胖罐之间切换
Switching between regular and fat jars with Gradle script
我有一个使用 gradle 的小型 java 项目,我希望能够在生成常规 jar 和胖 jar 之间进行选择。
plugins {
id 'java-library'
}
repositories {
mavenCentral()
}
jar {
manifest {
attributes(
'Main-Class': 'com.myTest'
)
}
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
}
dependencies {
implementation('org.apache.commons:commons-lang3:3.0')
testImplementation 'junit:junit:4.12'
}
如果我用上面的脚本来构建,我会得到一个fat jar。为了让我得到一个罐子,我需要删除 "jar" 块。我需要做什么才能从命令行在两者之间切换?
非常感谢!
为 fatJar 任务创建新任务,如下所示,
task fatJar(type: org.gradle.jvm.tasks.Jar, group: "build") {
manifest {
attributes(
'Main-Class': 'com.myTest'
)
}
baseName(project.name.concat("-fatJar"))
from {
configurations.runtimeClasspath.collect { it.directory ? it : zipTree(it)
}
}
我有一个使用 gradle 的小型 java 项目,我希望能够在生成常规 jar 和胖 jar 之间进行选择。
plugins {
id 'java-library'
}
repositories {
mavenCentral()
}
jar {
manifest {
attributes(
'Main-Class': 'com.myTest'
)
}
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
}
dependencies {
implementation('org.apache.commons:commons-lang3:3.0')
testImplementation 'junit:junit:4.12'
}
如果我用上面的脚本来构建,我会得到一个fat jar。为了让我得到一个罐子,我需要删除 "jar" 块。我需要做什么才能从命令行在两者之间切换? 非常感谢!
为 fatJar 任务创建新任务,如下所示,
task fatJar(type: org.gradle.jvm.tasks.Jar, group: "build") {
manifest {
attributes(
'Main-Class': 'com.myTest'
)
}
baseName(project.name.concat("-fatJar"))
from {
configurations.runtimeClasspath.collect { it.directory ? it : zipTree(it)
}
}