我目前正在尝试构建一个 gradle grails 3 项目,它在我的构建文件中声明的编译时使用 Spring-context-support 作为某个 Spring 依赖项下的传递依赖项。
我的应用程序确实依赖于整个组和工件/模块(即 Spring-context-support),但是,我需要从 spring-context-support 中明确摆脱/排除 EhCache。
我从语法上知道如何摆脱整个 spring-context-support 依赖,但是我似乎无法弄清楚如何删除只是缓存......
附上屏幕截图以帮助说明我的意思:
此行未注释时将删除整个 spring-context-support 依赖项:
在这里,您可以看到“缓存”包,其中包含我试图摆脱的 Ehcache 模块。我将如何调整排除声明以删除它?
最佳答案
Gradle(或 Maven)只允许您在工件级别排除依赖项,即类路径上没有 jar。没有一流的支持从依赖项中过滤掉一组包。
为此,最简单的方法是将您的应用程序重新打包到一个胖 jar 中,过滤掉您认为不必要的包。
但是,您的问题措辞方式让我想知道是否没有混淆。
您将在 org.springframework.cache
中找到什么不是 Ehcache 代码,而是 Spring 缓存抽象。
Ehcache 库是 net.sf.ehcache
组下的一个模块或 org.ehcache
,你可以很好地排除这些。
关于java - 从 Gradle Build 中排除模块/传递依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52863972/