[JavaMailSender that could not be found] 之终极坑

最近有一个JIRA是需要enhance之前的batch模块(使用的spring-batch),和我之前的schedule的microservice结合,每天定时发送邮件给配置的Maintainer来回报当天的batch状况。mail的api被封装到了一个公司的包里,所以就直接依赖了这个包,但是却莫名奇妙的报错javaMailsender could not be found。
在这里插入图片描述

[JavaMailSender that could not be found] 之终极坑_第1张图片
很奇怪,按理说既然是封装好的包不应该存在缺失依赖的问题,确认了下,包是在的。然后再想是不是没有扫描到,又去检查了扫描配置,发现还是没问题。又怀疑是不是注入方式又问题,因为封装的时候使用的是构造器去注入的,我本地使用的是autowire注入,怕两种注入方式不能混用,后来证明都不是 。直到看到了这个。 Autowire JavaMailSender with spring-boot-starter-mail not working? 在spring-boot的main里面加入了- -debug参数,最终发现是yml配置出了问题(spring.mail)

public static void main(String[] args) {
    SpringApplication.run(Application.class, "--debug");
}

yml 加上之后完美解决。

spring:
	mail:
    	host: localhost
    	port: 25
   	 	username:xxxx
    	password:xxxxx

你可能感兴趣的:(SpringBoot,spring,boot)