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

本文记录了解决一个spring-boot应用中使用封装的邮件API发送邮件时遇到的javaMailsendercouldnotbefound错误的过程。通过排查依赖、注入方式和配置文件,最终定位到yml配置中的spring.mail部分存在问题,并通过加入--debug参数解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近有一个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
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值