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

  • Post author:
  • Post category:java


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

在这里插入图片描述

在这里插入图片描述

很奇怪,按理说既然是封装好的包不应该存在缺失依赖的问题,确认了下,包是在的。然后再想是不是没有扫描到,又去检查了扫描配置,发现还是没问题。又怀疑是不是注入方式又问题,因为封装的时候使用的是构造器去注入的,我本地使用的是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



版权声明:本文为Damien_J_Scott原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。