一个maven聚合工程 ,内有模块A ,B 前端
B模块做为DAO、Service、 entity、的jar包web
A为前端web模块,A依赖B模块,此时在A模块中配置@SpringbootApplication的启动配置类 ,后来发现B模块的entity没有自动生成表(jpa遇@entity自动生成表),spring
首先想到是@SpringbootApplication会自动扫描其配置类所在的包及其子包,因此首先检查配置的类包路劲与B模块下的包路劲是否相符,检查后排除了这个可能性。app
以后想到会不会是Spring只扫描本项目中本身编写的类,其余JAR包不扫描(B模块做为jar包被引入),测试后发现即使是jar包中的类也会被扫描,排除这个可能性,eclipse
继续排查,想到多是maven没有将B打成jar包,因此没有被引入,测试后发现即使没有将B模块打成jar包,安装到本地仓库, maven的聚合工程在Myeclipse中依然能够被引入。故排除之。maven
最后一种设想,那就是我引入的配置application.yml是否是没有配置自动建立表。 第一次将配置 spring.jpa.hibernate.ddl-auto = update 测试
测试后发现仍是没有自动建立表,以后再尝试将配置改为 spring.jpa.hibernate.ddl-auto = create,hibernate
测试成功 表被建立出来了。 特此记录今天的尴尬经历。ip