首页  

springboot3 应用启动 报错 找不到 com.mybatisflex.core.service.IService     所属分类 springboot 浏览量 5
springboot3 应用启动 报错 找不到 com.mybatisflex.core.service.IService



Caused by: java.io.FileNotFoundException: 
class path resource [com/mybatisflex/core/service/IService.class] 
cannot be opened because it does not exist

com.mybatisflex.core.service.IService

mybatis-flex-core-1.10.9.jar

java启动 classpath 没有该依赖 
原因是 mybatis-flex-spring-boot-starter 等依赖 scope为 provided 
provided  运行期不可见 且 不会打包 
scope 改为 compile后 启动ok 


mvn dependency:tree

[INFO] +- com.mybatis-flex:mybatis-flex-spring-boot-starter:jar:1.10.9:provided
[INFO] |  +- com.mybatis-flex:mybatis-flex-spring:jar:1.10.9:provided
[INFO] |  |  \- org.mybatis:mybatis-spring:jar:2.1.2:provided
[INFO] |  +- org.springframework.boot:spring-boot-autoconfigure:jar:2.7.18:compile
[INFO] |  \- com.mybatis-flex:mybatis-flex-core:jar:1.10.9:provided
[INFO] |     \- org.mybatis:mybatis:jar:3.5.19:provided

provided 依赖不会加入 启动脚本 classpath  

idea   file/project structure / preject settings / modules / dependencies 
模块依赖的jar包以及  scope 

compile runtime provided test 

Maven 的 scope 用于控制依赖在项目构建生命周期(编译、测试、打包、运行)中的可见性,
以及是否被打入最终产物(如 jar/war)
scope    编译期可见   测试期可见  运行期可见 是否打入产物 核心含义
compile  是 是 是 是   默认值,全生命周期可见,核心业务依赖(如 Spring Core)
runtime  否 是 是 是   仅运行 / 测试期需要,编译期不需要(如 JDBC 驱动、MyBatis)
provided 是 是 否 否   编译 / 测试期需要,运行期由容器提供(如 Servlet API、Tomcat 核心包)
test     否 是 否 否   仅测试期需要(如 JUnit、Mockito)


provided  运行期不可见 且 不会打包 


<dependency>
    <groupId>com.mybatis-flex</groupId>
    <artifactId>mybatis-flex-spring-boot-starter</artifactId>
    <scope>provided</scope>
</dependency>

<dependency>
    <groupId>com.mybatis-flex</groupId>
    <artifactId>mybatis-flex-processor</artifactId>
    <scope>provided</scope>
</dependency>


上一篇     下一篇
股票多因子模型实战

《股票多因子模型实战:Python 核心代码解析》 笔记

ETF 动量和反转策略

python量化项目