Gradle 无法将Jar从grails war中排除

Gradle 无法将Jar从grails war中排除,gradle,grails,build.gradle,grails-4,Gradle,Grails,Build.gradle,Grails 4,我正在使用Grails4.0 在我的build.gradle中,我有以下条目 war { exclude("**/abc-1.0.0.jar", "**/xyz-1.0.0.jar") } 但出于某种原因,当我运行命令grailsprod-war 我尝试了不同的选项,但似乎没有任何效果。您确定您没有试图限制依赖项 前 是的,非常肯定。这些文件在编译时需要,但在部署中不需要,因为它们是由容器提供的。我尝试了compileOnly依赖类型,但由于某些原因,这些依赖类型被标记为“compil

我正在使用Grails4.0

在我的build.gradle中,我有以下条目

war {
    exclude("**/abc-1.0.0.jar", "**/xyz-1.0.0.jar")
}
但出于某种原因,当我运行命令
grailsprod-war


我尝试了不同的选项,但似乎没有任何效果。

您确定您没有试图限制依赖项


是的,非常肯定。这些文件在编译时需要,但在部署中不需要,因为它们是由容器提供的。我尝试了compileOnly依赖类型,但由于某些原因,这些依赖类型被标记为“compileOnly”;它们在gsp页面编译中不可用&我收到编译错误。您是否可以选择将
abc
xyz
标记为
提供的
?感谢您的回复@JeffScottBrown。。。但这没有帮助。应用程序编译良好,甚至tomcat容器启动良好(容器日志中没有错误);但应用程序出现404错误..启动失败(应用程序日志文件中未打印任何内容)。可能是因为使用提供的
后缺少可传递依赖项。我也尝试过在编译时标记依赖项,但这并不能阻止它们被包含在WAR中。我无法重现这种行为<代码>提供的
依赖项似乎也按照我期望的方式运行。对不起,我帮不了你。祝你好运!这很好@JeffScottBrown,我只是使用
zip
实用程序删除war文件中的那些罐子。非常感谢您的时间,Grails在过去4-5年中为我节省了很多开发时间!太棒了。
dependencies {
...
    compile("org.grails:grails-plugin-interceptors"){
        exclude(module: 'org.slf4j:slf4j-api:1.7.22')
        exclude(module: 'org.slf4j:jcl-over-slf4j:1.7.22')
    }

}