禁用Spring Boot自动配置的传递依赖项

5
我为模拟SOAP服务创建了一个Spring Boot项目 - 它依赖于org.springframework.ws:spring-ws-security来处理ws-sec头,这引入了对org.springframework.security:spring-security-core的传递依赖。
在我的运行时类路径上拥有这个依赖会导致Spring Boot认为我想启用Web安全性,即使我使用security.basic.enabled = false禁用它,除非我还添加以下内容,否则我最终会获得一个运行时ClassNotFoundException异常:
compile("org.springframework.security:spring-security-web:$springSecurityVersion")
compile("org.springframework.security:spring-security-config:$springSecurityVersion")

如何将 Spring Security 从我的运行时类路径中排除?有没有办法告诉 Boot,虽然它在运行时类路径上,但我真的不想使用 Spring Security,并使其不需要这些额外的依赖项?

1个回答

0

如果你真的不想使用它,也许它实际上是一个可选依赖项(可以被排除掉)?如果失败了,你可以在@EnableAutoConfiguration中添加排除项(例如详见javadoc)。你需要排除SecurityAutoConfiguration


使用最新的快照20140212时出现与上述相同的错误。 - Ben M
好的,你能在Github(或类似网站)上分享一个项目吗? - Dave Syer
如果您想要创建一个问题(没有JIRA,只有github适用于Boot),请创建一个问题。不确定是否存在问题,但仍然乐意在那里讨论。 - Dave Syer
谢谢!如果我能用最小的项目重新创建,我会这样做。 - Ben M
感谢 @Dave - 我已经提交了一个 Github 问题 和一个最小化的 项目 - Ben M
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接