首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决构建问题:条目com/netflix/server/context/BiDirectional.class是重复的,但没有设置重复处理策略

如何解决构建问题:条目com/netflix/server/context/BiDirectional.class是重复的,但没有设置重复处理策略
EN

Stack Overflow用户
提问于 2021-08-11 21:01:03
回答 2查看 1.5K关注 0票数 0

我在试图为我的java应用程序制作一个胖罐子时遇到了一个问题。应用程序在使用IntelliJ时正常运行,其操作没有出现错误。

错误:

任务:uberJar失败

失败:生成失败,出现异常。

  • 出了什么问题:任务执行失败':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

  • Try:使用--stacktrace选项运行以获得堆栈跟踪。使用--info或-调试选项运行以获得更多日志输出。运行-扫描以获得完整的洞察力。

https://help.gradle.org

  • 获得更多帮助

在1s3可操作任务中生成失败:3

My build.gradle:

代码语言:javascript
复制
    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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-12 06:11:15

修改build.gradle并设置重复策略。这将包括jar中提到的文件。

代码语言:javascript
复制
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

票数 0
EN

Stack Overflow用户

发布于 2021-08-11 21:11:21

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68748884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档