当前位置: 首页 > 知识库问答 >
问题:

为什么我可以使用mvn spring boot:run启动我的应用程序,而IntelliJ run不起作用?

严项明
2023-03-14

当我使用命令mvn spring-boot:run时,项目可以完美地编译和启动。但是,当我在IDE (IntelliJ)中使用play按钮时,我得到以下错误:

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提供的调试和开发工具。

我试过的是:

  • 选择构建-

我的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;
}

非常感谢帮助。

共有2个答案

岳正阳
2023-03-14

您需要创建配置类,并告诉它们使用我刚才尝试过的<code>@Bean

@Configuration
public class AppConfiguration {

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

}

请在下面的网址上查看我的要点,

https://gist.github.com/thangavel-projects/9c30e6fe141755cf471c9d574e7341b2

万俟嘉珍
2023-03-14

您需要添加<code>org.springframework.mail.javamail.JavaMailSender。jar作为依赖项,因为它丢失了。您可以按照以下步骤在intellij中进行修复。

    < li >下载jar文件。 < li >在IntelliJ Idea IDE中,转到文件

现在,它会被修复。

 类似资料:
  • 我对这段代码有一个问题,因为我似乎找不到问题所在?这是我试图解决的问题:-声明并编写一个名为valid_triangle的函数,它将表示三角形三边长度的三个实数作为参数,并根据这三个长度是否能够构成三角形输出真或假。 关于三角形的以下规则: 三角形只能有正长度的边 三角形任意两条边的长度之和必须大于第三条边的长度

  • 我有一个主活动MainActivity,它是我的android应用程序的入口点。它通过发射器正确发射。然而,当我尝试执行startActivity时,我看到活动试图启动的一些调试,一些代码正确启动,但MainActivity从未启动。 我认为这可能与意图有关: 对吗? 从内部活动来看,我有 我甚至看到 10-11 22:23:46.026:INFO/ActivityManager(472):从pi

  • 我是react native的新手,我正在尝试使用android Studio开始我的第一个项目。我遵循react native的“设置开发环境”中的说明,最终使用 然后我在android studio中打开了我的项目来启动AVD,但是gradle抛出了以下错误 错误:评估脚本时出现问题。 无法运行程序“node”(在目录“/home/deadshot/documents/playground/a

  • 我的Android应用3年后就可以使用了。我定期更新。 它包含一些视图上的动画,我使用MPAndroidChart库。大约2个月以来,当我从Android Studio(在真实设备或仿真设备上)启动我的应用程序时,动画图表工作正常,但当我从Play Store下载应用程序时,这些动画不再工作了!这很奇怪!! 使用的方法是ObjectAnimator.start()。 有人已经有这个问题了吗? 谢谢

  • 一般来说,我可以做到这一点,一切看起来都一样, 但也许以后我不能把我的应用程序上传到谷歌开发者控制台? 或者我会在实现谷歌libs方面遇到问题?

  • Stage.close()对我不起作用。 我查看了:JavaFX2.0:关闭一个舞台(窗口) 这是我的代码: 下面是调用消息框类的代码: