boot:run while intellij run doen公司´不工作?

lp0sw83n  于 2021-07-08  发布在  Java
关注(0)|答案(2)|浏览(293)

当我使用mvn-spring命令时-boot:run the 项目完美地编译和启动。但是,当我在ide(intellij)中使用播放按钮时,出现以下错误:

Description:
Parameter 3 of constructor in com.example.module.services.PdfService required a bean of type 'org.springframework.mail.javamail.JavaMailSender' that could not be found.

原因可能是什么?我想使用ide提供的调试和开发工具。
我尝试过:
选择“生成”->“重建项目”
单击“文件”>“使缓存失效/重新启动”
mvn清理->构建->生成项目
maven->重新导入
检查首选项|生成、执行、部署|编译器|排除中是否没有排除项
我的pom.xml

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-mail</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

发生错误的服务

@Service
public class PdfService {

private final Logger logger = LoggerFactory.getLogger(PdfService.class);

private PdfCreator pdfCreator;

private ConfigProperties properties;

private ReceiptService receiptService;

private JavaMailSender javaMailSender;

private MessageSourceAccessor messageSourceAccessor;

@Autowired
public PdfService(PdfCreator pdfCreator,
                  ConfigProperties properties,
                  ReceiptService receiptService,
                  JavaMailSender javaMailSender,
                  MessageSourceAccessor messageSourceAccessor) {
    this.pdfCreator = pdfCreator;
    this.properties = properties;
    this.receiptService = receiptService;
    this.javaMailSender = javaMailSender;
    this.messageSourceAccessor = messageSourceAccessor;
}

非常感谢你的帮助。

js4nwp54

js4nwp541#

你需要加上 org.springframework.mail.javamail.JavaMailSender.jar 因为它是缺失的。您可以按照以下步骤在intellij中进行修复。
下载jar文件。
在intellij idea中,转到“文件”>“项目结构”。
选择模块。
在dependecies部分,选择(+)图标>选择jar或目录
将链接粘贴到jar文件的位置
选择“确定”并应用
现在,它将被修复。

nnvyjq4y

nnvyjq4y2#

您需要创建配置类并告诉它们使用 @Bean 我试过了。这对我很有用。

@Configuration
public class AppConfiguration {

    @Bean
    public JavaMailSender javaMailSender(){
        return new JavaMailSenderImpl();
    }

}

请在下面的网址上查看我的要点,
https://gist.github.com/thangavel-projects/9c30e6fe141755cf471c9d574e7341b2

相关问题