在Spring Boot中获取“创建名称为'springSecurityFilterChain'的bean时出错”

时间:2019-02-11 01:29:34

标签: spring-boot spring-security

运行应用程序时出现此错误。我试图通过阅读几篇文章来解决这个问题,但这没有任何意义。

  

启动ApplicationContext时出错。要显示条件报告,请在启用“调试”的情况下重新运行您的应用程序。

  

org.springframework.beans.factory.BeanCreationException:在类路径资源[org / springframework / security / config / annotation / web / configuration / WebSecurityConfiguration.class]中创建名称为'springSecurityFilterChain'的bean时出错:通过工厂实例化Bean方法失败;嵌套的异常是org.springframework.beans.BeanInstantiationException:无法实例化[javax.servlet.Filter]:工厂方法'springSecurityFilterChain'抛出了异常;嵌套的异常是java.lang.RuntimeException:javax.xml.bind.JAXBException:在模块路径或类路径上找不到JAXB-API的实现。    -具有链接的例外:   [java.lang.ClassNotFoundException:com.sun.xml.internal.bind.v2.ContextFactory] ​​

2 个答案:

答案 0 :(得分:0)

在异常堆栈跟踪中,似乎无法找到JAXB-API。您是否对项目有依赖性-jaxb-api。

答案 1 :(得分:0)

Java 11删除了Java EE模块:java.xml.bind (JAXB) - REMOVED

您可以通过使用Java EE技术的替代版本来解决此问题。只需添加包含所需类的Maven依赖项:

        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.1</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-core</artifactId>
            <version>2.3.0.1</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>2.3.2</version>
        </dependency>

有关详细信息,请阅读此StackOverflow Answer