我正在尝试使用 gradle 创建一个 fat jar,并且我正在使用以下依赖项
implementation platform('com.amazonaws:aws-java-sdk-bom:1.11.1000')
implementation 'com.amazonaws:aws-java-sdk-core'
implementation("software.amazon.msk:aws-msk-iam-auth:1.1.1")
implementation("org.apache.kafka:kafka-clients:3.0.0")
implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.25'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0'
Run Code Online (Sandbox Code Playgroud)
但我收到这个错误
META-INF/LICENSE.txt 条目重复,但未设置重复处理策略
有什么建议么?
我从这里得到了这个答案并且它有效,只需确保在开头添加“duplicatesStrategy = DuplicatesStrategy.EXCLUDE”行到您的 fatJar 任务中,并且应该管理错误。找到第一个后,任何后续的“META-INF/LISCENSE.txt”都将被忽略。其他选项是DuplicatesStrategy.INCLUDE (如果您确实需要它们),这里解释了更多选项,但简要包括:
task fatJar(type: Jar) {
manifest.from jar.manifest
classifier = 'all'
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
from {
configurations.runtimeClasspath.collect {
it.isDirectory() ? it : zipTree(it)
}
} {
exclude "META-INF/*.SF"
exclude "META-INF/*.DSA"
exclude "META-INF/*.RSA"
}
with jar
}
jar {
manifest {
attributes 'Main-Class': 'YOUR_MAIN_CLASS'
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1615 次 |
| 最近记录: |