我在Grails项目中添加了一个依赖项,它引入了commons-logging和log4j作为传递性依赖项。当我运行我的应用程序时,我得到一个错误
Error Error executing script RunApp: Could not initialize class
org.apache.log4j.LogManager (NOTE: Stack trace has been filtered. Use --verbose to see
entiretrace.) java.lang.NoClassDefFoundError: Could not initialize class
org.apache.log4j.LogManager
我试图通过排除commons-logging来按照this link删除commons-logging依赖项。但这没有帮助。我看到commons-logging不是我要添加的依赖的直接依赖。所以如果
runtime ('com.company.i18n:i18n:1.3.4')
{
excludes 'commons-logging'
}
是否在我的依赖项中排除所有记录公共(public)的依赖项?或只有直接的。我该如何解决这个问题?
最佳答案
我尽力从所有依赖项中排除“log4j”,但没有任何效果。最后,我通过避免所有传递依赖关系并添加了必要的内容来解决了这一问题。
//add necessary dependencies.
runtime ('com.company.i18n:i18n:1.3.4')
{
transitive = false
}
关于grails - Grails应用程序中的Log4J问题依赖于comons-logging,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9288284/