Spring boot devtools和ActiveJDBC集成

问题描述 投票:0回答:1

有没有办法将Spring boot devtools的自动重启功能与ActiveJDBCinstrumentation功能集成?

每次在模型或数据库中进行更改时也需要提供检测,但是在Spring引导的devtools侧进行自动重新启动时生成的代码是由ActiveJDBC侧的检测生成的代码发生,即使它与源上的类相同,也将不匹配,并会给出一个错误,表明无法进行强制转换。

例如

class dev.logue.sample.models.User cannot be cast to class dev.logue.sample.models.User (dev.logue.sample.models.User is in unnamed module of loader 'app'; dev.logue.sample.models.User is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader

我对Java不太熟悉,是否有任何方法可以同步此过程?

我的环境:

openjdk version "11.0.6" 2020-01-14 LTS
OpenJDK Runtime Environment Zulu11.37+17-CA (build 11.0.6+10-LTS)
OpenJDK 64-Bit Server VM Zulu11.37+17-CA (build 11.0.6+10-LTS, mixed mode)
java spring-boot instrumentation activejdbc spring-boot-devtools
1个回答
0
投票

已经解决了。

显然,spring-devtools.properties应该显式加载ActiveJDBC生成的类。

src / main / resources / META-INF / spring-devtools.properties:

restart.include.activejdbc=/activejdbc-[\\w\\d-\.]+\.jar

错误消息不包含activejdbc,所以我认为它与检测后生成的类文件有关。

此外,以防万一,application.properties中的Spring devtools扫描路径中省略了模型类。

src / main / resources / application.properties:

spring.devtools.restart.additional-exclude=src/main/java/dev/logue/sample/models/**
© www.soinside.com 2019 - 2024. All rights reserved.