繁体   English   中英

从Gradle Build中排除模块/传递依赖项

[英]excluding module/transitive dependencies from Gradle Build

我目前正在尝试构建gradle grails 3项目,在该项目中,如编译文件中所声明的那样,它在编译时使用Spring-context-support作为某些Spring依赖项下的传递依赖项。 我的应用程序确实整体上依赖于组和工件/模块(即Spring-context-support),但是,我需要在spring-context-support中显式摆脱/排除EhCache。 我从语法上知道如何摆脱整个spring-context-support依赖性,但是我似乎无法弄清楚如何删除缓存...

随附屏幕截图以帮助说明我的意思:如果未注释此行,将删除整个spring-context-support依赖项: 在此处输入图片说明

在这里,您会看到“缓存”包,其中包含我要摆脱的Ehcache模块。 我将如何调整排除声明以删除此内容? 在此处输入图片说明

Gradle(或Maven)仅允许您在工件级别上排除依赖项,即类路径上没有jar。 没有一流的支持可以从依赖项中滤除一组软件包。

为此,最简单的方法是将应用程序重新包装在一个胖子罐中,过滤掉您认为不必要的软件包。

但是,您的问题的表达方式使我想知道是否没有混淆。 org.springframework.cache可以找到的不是Ehcache代码,而是Spring缓存抽象。 Ehcache库是net.sf.ehcache组或org.ehcache组下的模块,您可以很好地排除它们。

在文档中描述了排除依赖项: https ://docs.gradle.org/current/userguide/managing_transitive_dependencies.html#sec: clusion_transitive_module_dependencies

祝好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM