【问题标题】:Broadleaf JUnit Testing Error during loading of ApplicationContext加载 ApplicationContext 期间的 Broadleaf JUnit 测试错误
【发布时间】:2018-06-09 03:23:58
【问题描述】:

使用 Broadleaf 5.2.2-GA 版多租户版本

已添加以下 JUnit 执行源代码:

package com.test.simple;

import javax.annotation.Resource;

import org.broadleafcommerce.core.catalog.service.CatalogService;
import org.broadleafcommerce.test.config.BroadleafSiteIntegrationTest;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@BroadleafSiteIntegrationTest
public class JUnitTest {

    @Resource
    private CatalogService catalogService;

    @Test
    public void testInjectionWorks() {
        Assert.assertNotEquals(catalogService, null);
    }
}

完成了所需的设置,在站点 pom.xml 中添加了以下详细信息

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.broadleafcommerce</groupId>
    <artifactId>integration</artifactId>
    <version>${blc.version}</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.broadleafcommerce</groupId>
    <artifactId>integration</artifactId>
    <version>${blc.version}</version>
    <classifier>tests</classifier>
    <scope>test</scope>
</dependency>

得到以下错误

原因:org.hibernate.exception.GenericJDBCException:不能 在打开连接 org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54) 在 org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125) 在 org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110) 在 org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:304) 在 org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:169) 在 org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doBegin(JdbcTransaction.java:67) 在 org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:160) 在 org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1395) 在 org.hibernate.ejb.TransactionImpl.begin(TransactionImpl.java:59) ...省略了71个常见框架原因: org.apache.commons.dbcp.SQLNestedException:无法加载 JDBC 驱动程序 类 'org.hsqldb.jdbcDriver' 在 org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1429) 在 org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371) 在 org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) 在 org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:70) 在 org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:292) 在 org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:297) ...省略了76个常见框架原因: java.lang.ClassNotFoundException:org.hsqldb.jdbcDriver 在 java.net.URLClassLoader.findClass(URLClassLoader.java:381) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:424) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357) 在 org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1420) ...省略了81个常用框架

问题 1:为什么它应该要求 HSQL 驱动程序,因为我已经将 SQL Server 配置为管理员和站点应用程序即将推出?

我添加了以下依赖项

<!-- https://mvnrepository.com/artifact/org.hsqldb/hsqldb -->
<dependency>
    <groupId>org.hsqldb</groupId>
    <artifactId>hsqldb</artifactId>
    <scope>test</scope>
</dependency>

错误已解决,但出现如下新错误。

20:38:56.118 [主要] 错误 org.springframework.test.context.TestContextManager - 捕获异常 同时允许 TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@15bfd87] 准备测试实例 [com.bv.test.simple.JUnitTest@52d8ada] java.lang.IllegalStateException:无法加载 ApplicationContext 在 org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124) 在 org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:83) 在 org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:189) 在 org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:131) 在 org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:230) 在 org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:228) 在 org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:287) 在 org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) 在 org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:289) 在 org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:247) 在 org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94) 在 org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 在 org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 在 org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 在 org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 在 org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 在 org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) 在 org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) 在 org.junit.runners.ParentRunner.run(ParentRunner.java:363) 在 org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191) 在 org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) 在 org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206) 引起:org.springframework.beans.factory.BeanCreationException: 创建具有名称的 bean 时出错 'org.springframework.security.filterChains':无法解析引用 豆 'org.springframework.security.web.DefaultSecurityFilterChain#0' 同时 使用键 [0] 设置 bean 属性“sourceList”;嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 用名字创建bean 'org.springframework.security.web.DefaultSecurityFilterChain#0': 无法创建类型的内部 bean '(inner bean)#861d892' [org.springframework.security.web.authentication.logout.LogoutFilter] 同时使用键 [4] 设置构造函数参数;嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 创建名为“(内部 bean)#861d892”的 bean:无法解析 参考豆 'org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices#0' 同时使用键 [2] 设置构造函数参数;嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 用名字创建bean 'org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices#0': 设置时无法创建内部 bean '(inner bean)#1a2955e7' 构造函数参数;嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 创建名称为 '(inner bean)#1a2955e7' 的 bean:Bean 实例化 通过工厂方法失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:失败 实例化 [org.springframework.security.core.userdetails.UserDetailsS​​ervice]: 工厂方法“cachingUserDetailsS​​ervice”抛出异常;嵌套的 例外是 org.springframework.context.ApplicationContextException: 注册了多个 UserDetailsS​​ervice。请使用特定的 ID 参考或元素。在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:359) 在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108) 在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:382) 在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:157) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1531) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1276) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) 在 org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 在 org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:742) 在 org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867) 在 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543) 在 org.springframework.test.context.web.AbstractGenericWebContextLoader.loadContext(AbstractGenericWebContextLoader.java:134) 在 org.springframework.test.context.web.AbstractGenericWebContextLoader.loadContext(AbstractGenericWebContextLoader.java:61) 在 org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.delegateLoading(AbstractDelegatingSmartContextLoader.java:108) 在 org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.loadContext(AbstractDelegatingSmartContextLoader.java:251) 在 org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:98) 在 org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:116) ... 省略了 25 个常见帧 原因: org.springframework.beans.factory.BeanCreationException:错误 用名字创建bean 'org.springframework.security.web.DefaultSecurityFilterChain#0': 无法创建类型的内部 bean '(inner bean)#861d892' [org.springframework.security.web.authentication.logout.LogoutFilter] 同时使用键 [4] 设置构造函数参数;嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 创建名为“(内部 bean)#861d892”的 bean:无法解析 参考豆 'org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices#0' 同时使用键 [2] 设置构造函数参数;嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 用名字创建bean 'org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices#0': 设置时无法创建内部 bean '(inner bean)#1a2955e7' 构造函数参数;嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 创建名称为 '(inner bean)#1a2955e7' 的 bean:Bean 实例化 通过工厂方法失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:失败 实例化 [org.springframework.security.core.userdetails.UserDetailsS​​ervice]: 工厂方法“cachingUserDetailsS​​ervice”抛出异常;嵌套的 例外是 org.springframework.context.ApplicationContextException: 注册了多个 UserDetailsS​​ervice。请使用特定的 ID 参考或元素。在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:313) 在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:129) 在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:382) 在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:157) 在 org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:634) 在 org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:145) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1193) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1095) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) 在 org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351) ... 省略了 45 个常用帧 原因: org.springframework.beans.factory.BeanCreationException:错误 创建名为“(内部 bean)#861d892”的 bean:无法解析 参考豆 'org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices#0' 同时使用键 [2] 设置构造函数参数;嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 用名字创建bean 'org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices#0': 设置时无法创建内部 bean '(inner bean)#1a2955e7' 构造函数参数;嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 创建名称为 '(inner bean)#1a2955e7' 的 bean:Bean 实例化 通过工厂方法失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:失败 实例化 [org.springframework.security.core.userdetails.UserDetailsS​​ervice]: 工厂方法“cachingUserDetailsS​​ervice”抛出异常;嵌套的 例外是 org.springframework.context.ApplicationContextException: 注册了多个 UserDetailsS​​ervice。请使用特定的 ID 参考或元素。在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:359) 在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108) 在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:382) 在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:157) 在 org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:634) 在 org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:145) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1193) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1095) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) 在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:299) ...省略了59个常见框架原因: org.springframework.beans.factory.BeanCreationException:错误 用名字创建bean 'org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices#0': 设置时无法创建内部 bean '(inner bean)#1a2955e7' 构造函数参数;嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 创建名称为 '(inner bean)#1a2955e7' 的 bean:Bean 实例化 通过工厂方法失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:失败 实例化 [org.springframework.security.core.userdetails.UserDetailsS​​ervice]: 工厂方法“cachingUserDetailsS​​ervice”抛出异常;嵌套的 例外是 org.springframework.context.ApplicationContextException: 注册了多个 UserDetailsS​​ervice。请使用特定的 ID 参考或元素。在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:313) 在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:129) 在 org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:648) 在 org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:145) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1193) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1095) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) 在 org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351) ...省略了69个常见框架原因: org.springframework.beans.factory.BeanCreationException:错误 创建名称为 '(inner bean)#1a2955e7' 的 bean:Bean 实例化 通过工厂方法失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:失败 实例化 [org.springframework.security.core.userdetails.UserDetailsS​​ervice]: 工厂方法“cachingUserDetailsS​​ervice”抛出异常;嵌套的 例外是 org.springframework.context.ApplicationContextException: 注册了多个 UserDetailsS​​ervice。请使用特定的 ID 参考或元素。在 org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1173) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1067) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) 在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:299) ...省略了81个常见框架原因: org.springframework.beans.BeanInstantiationException:失败 实例化 [org.springframework.security.core.userdetails.UserDetailsS​​ervice]: 工厂方法“cachingUserDetailsS​​ervice”抛出异常;嵌套的 例外是 org.springframework.context.ApplicationContextException: 注册了多个 UserDetailsS​​ervice。请使用特定的 ID 参考或元素。在 org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189) 在 org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) ...省略了86个常见框架原因: org.springframework.context.ApplicationContextException:不止一个 UserDetailsS​​ervice 已注册。请使用特定的 ID 参考 或元素。在 org.springframework.security.config.http.UserDetailsS​​erviceFactoryBean.getUserDetailsS​​ervice(UserDetailsS​​erviceFactoryBean.java:125) 在 org.springframework.security.config.http.UserDetailsS​​erviceFactoryBean.cachingUserDetailsS​​ervice(UserDetailsS​​erviceFactoryBean.java:54) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) ...省略了87个常用框架

请帮助检查如何解决此错误。

【问题讨论】:

    标签: junit broadleaf-commerce


    【解决方案1】:

    在我看来,您当前错误的原因是该堆栈跟踪的以下摘录:

    org.springframework.context.ApplicationContextException: More than one UserDetailsService registered. Please use a specific Id reference in or elements.
    

    您似乎有多个 CachingUserDetailsServiceUserDetailsService bean 正在实例化。如果您查看UserDetailsServiceFactoryBean#getUserDetailsService 的源代码,您将看到它在哪里验证只有一个。我会调查您的安全配置并找出为什么要注册多个 UserDetailsService bean。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-30
      • 2018-06-19
      • 1970-01-01
      • 2019-08-25
      • 1970-01-01
      • 2014-02-28
      相关资源
      最近更新 更多