当前位置: 首页 > 知识库问答 >
问题:

gradle从运行时依赖项中排除特定的JAR

袁泰平
2023-03-14

是否有一种方法可以使用Gradle从一组中排除特定的jar?我尝试了下面的代码,但这删除了该组的所有jar

configurations {
   all*.exclude group: 'org.xxxx.xxxx'
}

共有1个答案

张光辉
2023-03-14

可以在依赖项块中排除组中的所有依赖项,或仅排除组的某些模块:

    dependencies {

        /* --------------  SpringBoot without Tomcat  ------------------- */
        compile('org.springframework.boot:spring-boot-starter-web') {    
            exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat'
        }

    }

添加到详细解释传递依赖关系的Gradle文档的链接:https://docs.Gradle.org/current/userguide/management_transitive_dependencies.html

 类似资料:
  • 目前,如果我试图在Gradle中做类似的事情,排除将被忽略,并且下载所有六个工件。 我使用的是Gradle版本1.8。

  • 当在我的gradle文件中添加依赖项作为实现时,它们在作为运行时配置的一部分列出时不会被包括在内。例如,当试图将它们放入pathing jar时,它们被排除在外,如下所示: 但是,当将这些作为编译依赖项移回时,这是有效的。现在的问题是在编译时,我的类路径要大得多。我的理解是,实现应该被视为直接使用者中的编译时和传递性的运行时,那么为什么它们被排除在配置之外呢?当将它们指定为“API”时,这也不起作

  • 问题内容: 我遇到一个问题,其中同一类的多个版本显示在我的类路径中。有问题的班级是。我要使用的版本由引入。但是,我们还使用了Jira rest客户端库,该库依赖于较旧版本的jersey(),该版本包含捆绑在jar中的java.ws软件包。 这是构建文件中的示例片段: 我无法删除它,因为它使用了与新版本不同的软件包名称,并且会导致在Jira客户端中找不到类def的异常。 据我所知,目前我的选择是:

  • 我在Jetty上使用Spring Boot,似乎我不能在Gradle构建文件中排除所有的Tomcat依赖项。 build.gradle的相关部分: 然而,当我运行时,Tomcat的一部分仍然存在,并导致WebSocket出现问题: 为什么< code > spring-boot-starter-Tomcat 没有被排除在< code > spring-boot-starter-web 之外?

  • 对于一个类,我有两个路径名相同的依赖项。 比如: 当我安装这两个依赖项时,我以错误结束。(如果我只使用1个依赖项,则工作正常) 我需要这两个,因为我需要第二依赖项中的其他包。 在我的maven pom文件中。 有没有一种方法可以要求排除导致问题的类? 我知道我可以排除这里的另一个依赖项。但是我可以只排除这个导致问题的类吗? 或者至少排除包com. a. b. c. d. e. f? 考虑到两个依赖

  • 我有一个项目需要依赖于iText 5.5.2和iText 2.1.7(Primefaces在运行时需要这个特定的版本,由于许可证问题,无法使用iText 5)。 所以我在pom.xml中有以下内容: 问题是,我不希望我们的开发人员能够从iText 2.1.7(com.lowagie.*包)导入类。我想强制他们使用iText 5.5.2(com.itextpdf.*包)中的类。 是否有方法将其从构建