【问题标题】:Why does spring-security-core exclude commons-logging?为什么 spring-security-core 排除 commons-logging?
【发布时间】:2014-05-04 15:35:09
【问题描述】:

我们已经编写了一个基于 spring-security-corespring-test(范围测试)的组件。当我运行我的第一个测试时,它找不到LogFactorycommons-logging。 我查看了spring-security-corepom.xml 并惊讶地发现它被排除在spring-core 上,它通常提供这种依赖关系。 commons-loggingLogFactory在不同的spring类中编译时使用,为什么要排除呢?

JFTR:如果我更改顺序,使spring-test 列在spring-security-core 之前,一切正常。

【问题讨论】:

  • commons-logging 被排除在 spring-core 之外,但是我看到 commons-logging 被包含在 POM 后面的直接依赖项中。
  • 我也看到了,但是它并没有将依赖项添加到我的项目中。我想知道他们为什么这样做。他们不能只管理依赖的版本或覆盖它吗?

标签: java maven spring-security testng apache-commons-logging


【解决方案1】:

我想我现在明白了。重要的是,spring-security-corecommons-logging 声明为 optional 依赖项。所以其他使用 Spring Security 的项目可以弃权 commons-logging 并使用 slf4j 桥 jcl-over-slf4j 或他们喜欢的任何东西:)

这个其他答案帮助了我:https://stackoverflow.com/a/3223701/482702

【讨论】:

    猜你喜欢
    • 2019-05-12
    • 1970-01-01
    • 2019-03-29
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-09
    • 2014-01-19
    相关资源
    最近更新 更多