spring 在运行时导入模块在 bean 中被忽略

标签 spring maven tomcat intellij-idea

您好,我有 2 个项目 A 和 B,其中 B 依赖于 A。

所以我把依赖放在maven中。 问题出在编译上,一切正常,但是每当我在 tomcat 上运行它时,我都会得到

CannotLoadBeanClassException: Cannot find class [com.example.A.user.UserDetailsServiceImpl] for bean with name 'userService' defined in ServletContext resource [/WEB-INF/sec-context.xml]

即使 bean 是正确的,项目 A 在项目 B 中也得到了很好的引用,并且 Maven 也得到了很好的更新。

上下文的组件扫描是<context:component-scan base-package="com.example" />所以问题不存在。

我对 Cannot find class [org.apache.commons.dbcp2.BasicDataSource] for bean with name 'dataSource' 也有同样的问题即使我添加到 pom.xml

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-dbcp2</artifactId>
        <version>2.1.1</version>
    </dependency>

[根据以下答案编辑]

enter image description here

问题是在 xml 中,自动完成功能正常工作,从它导航到类,实际上把我带到了正确的类。

检查错误的步骤是什么(我正在使用 intelliJ)?

谢谢

最佳答案

看起来你拉错了依赖,你需要 commons-dbcp2

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-dbcp2</artifactId>
    <version>2.1.1</version>
</dependency>

关于spring 在运行时导入模块在 bean 中被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34970694/

相关文章:

java - Spring Boot多部分文件上传集成测试-空文件

java - 正确设置工具链后 Maven 构建错误

hibernate - 什么是 DB2 jdbc 驱动程序或者我可以从哪里获得它?

tomcat - 如何使用 FORM 身份验证从网站注销用户?

java - 具有共享数据的两个 Web 应用程序

java - 将 apollo 跟踪添加到 GraphQL Spring

Spring 的 @Condtional 注解与 Java 8

java - gcloud : Default Application Credentials in appengine for Cloud Storage (java)

maven - 在 Intellij idea ultimate2017.2 中运行 maven webapp 时出错 : Caused by: java. lang.NoClassDefFoundError: Lorg/slf4j/Logger

java - 构建步骤失败,异常 org.codehaus.cargo.container.ContainerException : Failed to redeploy