Grails应用程序中的Log4J问题,它依赖于comons-logging

时间:2012-02-15 05:26:41

标签: grails log4j

我正在为我的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'
    }

它是否排除了我的依赖项中的所有commons-logging依赖项?或者只是直接的。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我通过从所有依赖项中排除“log4j”来努力,但没有任何效果。最后,我通过避免所有传递依赖关系然后添加必要的东西来解决这个问题。

//add necessary dependencies.

runtime ('com.company.i18n:i18n:1.3.4')
{ 
    transitive = false
}