在自己新建多module项目工作测试时。
发现只有在启动模块的初始化人在开机时启动了。但是其他模块的任务没有启动。找了好久才找到为什么。实属自己粗心大意,这里记录一下。
首先想要其他module的任务在开机时启动。当然首先我们的代码写的没有问题。
- 在启动类的 @SpringBootApplication(scanBasePackages = “xxxxx”) 自动扫描的路径中必须包含这个任务类。也就是说其他module中的任务类的路径必须是在__xxxxx__这样才能被启动执行。
下面是我的错误例子:
我的启动类:
@SpringBootApplication(scanBasePackages = "zhong.test.springbootdemo.usultestdemo")
public class UsulTestStartApplication {
public static void main(String[] args) {
SpringApplication.run(UsulTestStartApplication.class, args);
}
}
我的项目:
ModulesStaticFileReadTest.java是继承了CommandLineRunner 类的类。但是启动时是没有执行,就是因为类的路径不在 zhong.test.springbootdemo.usultestdemo 这个下面所有没有被自动扫描到,因此没有被执行。
以下是修改后的例子:
这样就能在启动时被执行了。