我在试图为我的java应用程序制作一个胖罐子时遇到了一个问题。应用程序在使用IntelliJ时正常运行,其操作没有出现错误。
错误:
任务:uberJar失败
失败:生成失败,出现异常。
com/netflix/server/context/BiDirectional.class条目是重复的,但没有设置重复的处理策略。详情请参阅https://docs.gradle.org/7.0/dsl/org.gradle.api.file.CopySpec.html#org.gradle.api.file.CopySpec:duplicatesStrategy。
在1s3可操作任务中生成失败:3
My build.gradle:
plugins {
id 'java'
}
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
implementation 'io.netty:netty-all:4.1.66.Final',
'io.reactivex.rxjava3:rxjava:3.1.0',
'io.reactivex:rxnetty:0.4.20',
'io.reactivex:rxjava:1.3.8',
'io.reactivex:rxnetty:0.5.1',
'io.netty:netty-codec-http:4.1.66.Final',
'org.glassfish.jersey.core:jersey-server:2.7',
'org.glassfish.jersey.containers:jersey-container-servlet-core:2.7',
'org.glassfish.jersey.containers:jersey-container-jetty-http:2.7',
'org.springframework:spring-core:5.3.8',
'org.springframework:spring-context:5.3.8',
'org.springframework:spring-beans:5.3.8',
'org.springframework:spring-test:5.3.8',
'com.netflix.karyon:karyon-governator:2.1.00-RC6',
'com.netflix.karyon:karyon2-core:2.2.0-rc.2',
'org.slf4j:slf4j-simple:1.7.0',
'org.slf4j:slf4j-simple:1.7.0',
'commons-io:commons-io:2.4'
}
task uberJar(type: Jar){
archiveClassifier = 'uber'
from sourceSets.main.output
dependsOn configurations.runtimeClasspath
from {
configurations.runtimeClasspath.findAll { it.name.endsWith('jar') } .collect { zipTree(it) }
}
manifest.attributes(['Main-Class': '**the package omitted for security**.Main'])
}我的期望是创建一个有效的胖jar文件。
分级版本: 7.0 JdK: 1.8
发布于 2021-08-12 06:11:15
修改build.gradle并设置重复策略。这将包括jar中提到的文件。
task uberJar(type: Jar){
archiveClassifier = 'uber'
duplicatesStrategy = 'include' // <<---- addition
from sourceSets.main.output
dependsOn configurations.runtimeClasspath
from {
configurations.runtimeClasspath.findAll { it.name.endsWith('jar') } .collect { zipTree(it) }
}
manifest.attributes(['Main-Class': '**the package omitted for security**.Main'])
}JavaDoc:https://docs.gradle.org/current/javadoc/org/gradle/api/file/DuplicatesStrategy.html
发布于 2021-08-11 21:11:21
https://stackoverflow.com/questions/68748884
复制相似问题