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

时间:2018-10-17 21:36:19

标签: java gradle grails ehcache transitive-dependency

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

附上一个屏幕截图以帮助说明我的意思: 取消注释时,此行将删除整个spring-context-support依赖项: enter image description here

在这里您看到“缓存”包,其中包含我要摆脱的Ehcache模块。我将如何调整排除声明以删除此内容? enter image description here

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:-1)

相关问题