我目前正在尝试构建一个 gradle grails 3 项目,它在我的构建文件中声明的编译时使用 Spring-context-support 作为某些 Spring 依赖项下的传递依赖项。我的应用程序确实依赖于组和工件/模块作为一个整体(即 Spring-context-support),但是,我需要从 spring-context-support 中明确删除/排除 EhCache。我在语法上知道如何摆脱整个 spring-context-support 依赖,但是我似乎无法弄清楚如何只删除缓存......附上一个屏幕截图来帮助说明我的意思:取消注释的这一行将删除整个 spring-context-support 依赖项:在这里您会看到“缓存”包,其中包含我试图摆脱的 Ehcache 模块。我将如何调整排除声明以删除它?
2 回答
芜湖不芜
TA贡献1796条经验 获得超7个赞
Gradle(或 Maven)将只允许您在工件级别排除依赖项,即在类路径上没有 jar。对于从依赖项中过滤出一组包没有一流的支持。
为此,最简单的方法是将您的应用程序重新打包到一个胖 jar 中,过滤掉您认为不必要的包。
但是,您的问题的措辞方式让我想知道是否存在混淆。你会在里面找到org.springframework.cache
的不是 Ehcache 代码,而是 Spring 缓存抽象。Ehcache 库是 groupnet.sf.ehcache
或下的一个模块org.ehcache
,您可以很好地排除这些。
长风秋雁
TA贡献1757条经验 获得超7个赞
文档中描述了排除依赖项:https ://docs.gradle.org/current/userguide/managing_transitive_dependencies.html#sec: exclude_transitive_module_dependencies
祝你好运!
添加回答
举报
0/150
提交
取消