Java 为什么SpringSecurityCore排除了commons日志记录?
我们已经编写了一个基于spring安全核心和spring测试(范围测试)的组件。当我运行第一个测试时,它找不到Java 为什么SpringSecurityCore排除了commons日志记录?,java,maven,spring-security,testng,apache-commons-logging,Java,Maven,Spring Security,Testng,Apache Commons Logging,我们已经编写了一个基于spring安全核心和spring测试(范围测试)的组件。当我运行第一个测试时,它找不到commons日志的LogFactory。 我查看了springsecuritycore的pom.xml,并惊讶地发现它被排除在通常提供这种依赖性的springcore上。commons日志的LogFactory在编译时在不同的spring类中使用,那么为什么它被排除在外呢 JFTR:如果我更改顺序,使spring-test列在spring-security-core之前,一切正常 我想
commons日志的LogFactory
。
我查看了springsecuritycore
的pom.xml
,并惊讶地发现它被排除在通常提供这种依赖性的springcore
上。commons日志
的LogFactory
在编译时在不同的spring类中使用,那么为什么它被排除在外呢
JFTR:如果我更改顺序,使spring-test
列在spring-security-core
之前,一切正常
我想我现在明白了。导入点是,spring安全核心
将commons日志
声明为可选
依赖项。因此,其他使用spring安全性的项目可以避免使用commons日志记录
,并使用slf4j桥jcl-over-slf4j
或他们喜欢的任何东西:)
另一个答案对我很有帮助:spring core中排除了commons日志记录,但是我看到commons日志记录在后面的版本中作为一个直接依赖项被包括在内。我也看到了这一点,但是它没有将依赖项添加到我的项目中。我想知道他们为什么这么做。他们不能只管理依赖项的版本或覆盖它吗?