Cereal 3.2.5。 Build.gradle具有邮件插件:
compile "org.grails.plugins:mail:2.0.0.RC6"
在向生产环境部署 war 时,我需要从WEB-INF / lib中删除javax.mail-1.5.6.jar,因为使用JNDI邮件资源时,该jar必须位于Tomcat lib中。那么,如何保留邮件插件,但从 war 中删除有问题的jar文件呢?我知道如何在Grails 2.x中做到这一点。通过build.gradle中的gradle war任务,我试图排除文件(不起作用-jar从某种程度上从插件中移入),并试图将文件过滤掉。建立 war 时,我得到两个文件-“app-0.1.war”和“app-0.1.war.original”。 “原始”文件已过滤掉了WEB-INF / lib / javax.mail jar,但真正的完整 war 仍然存在。
那么,如何防止该插件jar进入war文件?谢谢。
最佳答案
一种方法是使用类似以下的方法:
war {
rootSpec.exclude '**/javax.mail*.jar'
}
(您可能需要进行调整,具体取决于您是否还要将
javax.mail-api
jar文件与javax.mail
jar一起排除在外)参见https://github.com/jeffbrown/excludejar/blob/67734ac0c65cdbead468f1e65bcfc29041cd2279/build.gradle#L70-L72
关于grails - 如何从War文件中排除Grails插件jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46064627/