use*_*796 10 java shadow gradle
我正在使用gradle shadow插件来构建我的超级罐.
build.grade文件看起来像:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.2'
}
}
apply plugin: 'com.github.johnrengelman.shadow'
dependencies {
compile "com.amazonaws:aws-lambda-java-events:1.3.0"
}
assemble.dependsOn(shadowJar)
Run Code Online (Sandbox Code Playgroud)
它在build/libs文件夹中生成以下jar.
myProject-1.0.0-SNAPSHOT.jar
myProject-1.0.0-SNAPSHOT-all.jar '//uber jar
Run Code Online (Sandbox Code Playgroud)
我想用超级罐替换原来的罐子.我该怎么做呢?
目前尚不清楚为什么要这样做,但我假设你的意思是"用原来的JAR的名字".你应该做两件事:
jar任务(或者archiveName,或者影响名称的其他属性)提供不同的分类,或者禁用它,这样就不会在每次构建时不断覆盖它,避免做不必要的工作shadowJar任务上的分类器在ShadowJar从摇篮内置扩展Jar所以大部分从配置选项适用于任务,ShadowJar任务.
tasks.jar.configure {
classifier = 'default'
}
tasks.shadowJar.configure {
classifier = null
}
Run Code Online (Sandbox Code Playgroud)
也许禁用jar任务build.gradle将起作用
apply plugin: 'java'
jar.enabled = false
Run Code Online (Sandbox Code Playgroud)
所以你只有你的超级罐子.
至少要进行击键,而又不烧任何桥,
替换行:
assemble.dependsOn(shadowJar)
Run Code Online (Sandbox Code Playgroud)
与:
jar {
enabled = false
dependsOn(shadowJar { classifier = null })
}
Run Code Online (Sandbox Code Playgroud)
校验:
Run Code Online (Sandbox Code Playgroud)$ gradle assemble --console=plain :compileJava :processResources NO-SOURCE :classes :shadowJar :jar SKIPPED :assemble UP-TO-DATE
| 归档时间: |
|
| 查看次数: |
1462 次 |
| 最近记录: |