什么´mvn和spring的区别是什么-boot:run and intellij中的“run”

wyyhbhjk  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(244)

我知道这听起来像个愚蠢的问题,但我无法理解mvn和spring之间的区别-boot:run and intellij中的“run”。我的问题的背景是我有一个spring启动项目,它使用javamailssender通过电子邮件发送pdf文件。
该项目包含两个application.properties文件:

src/main/
    +- java
    +- resources
        +- db
        +- template
        +- application.properties
    +- target
    application.properties
    pom.xml

此javamailsender的属性(主机、端口、用户名、密码)在第二个应用程序属性中指定。

@Service
public class PdfService {

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

private PdfCreator pdfCreator;

private ConfigProperties properties;

private JavaMailSender javaMailSender;

private MessageSourceAccessor messageSourceAccessor;

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

当我使用mvn-spring启动项目时-boot:run in 终点站就像一个魔咒。当我尝试在intellij中启动它时,ide可以´无法创建javamailsender的bean。我得到这个错误:

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

在intellij的gui中,我可以看到第二个application.properties文件(包含javamailsender所需的属性)是灰色的,因此我假设第二个文件无法识别。
我´我想了解为什么在生成项目时不考虑该文件,以及如何在不将属性写入配置文件的情况下修复此问题。因为使用mvn-spring可以在没有任何问题的情况下启动项目-boot:run there 我假设我只需要在intellij中找到run配置。
我很高兴得到任何解释和帮助。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题