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

Spring启动应用程序无法热交换更改

督阿苏
2023-03-14

我正在做一个Spring Boot项目,我试图将我们的IDE从STS切换到Intellice。除调试时外,一切正常。每当我更改Java类时,Spring都会尝试重新启动整个应用程序,但失败时会显示以下消息:

web - 2018-09-27 08:39:18,494 [restartedMain] WARN  o.s.b.c.e.AnnotationConfigEmbeddedWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userController': Unsatisfied dependency expressed through field 'userService'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.xyz.service.IUserService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
web - 2018-09-27 08:39:18,496 [restartedMain] INFO  o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
web - 2018-09-27 08:39:18,498 [restartedMain] INFO  o.a.catalina.core.StandardService - Stopping service [Tomcat]
web - 2018-09-27 08:39:18,524 [restartedMain] INFO  o.s.b.a.l.AutoConfigurationReportLoggingInitializer - 

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
web - 2018-09-27 08:39:18,871 [restartedMain] ERROR o.s.b.d.LoggingFailureAnalysisReporter - 

***************************
APPLICATION FAILED TO START
***************************

Description:

Field userService in com.xyz.controller.UserController required a bean of type 'com.xyz.service.IUserService' that could not be found.


Action:

Consider defining a bean of type 'com.xyz.service.IUserService' in your configuration.

以下是有关环境的一些上下文:

>

  • spring boot devtools 1.5.9依赖项被添加到pom.xml
  • “首选项”选项-

    我尝试过使用“cmd shift a”选项进行调试-

    IDE版本是

    IDE版本

    spring boot starter父版本是1.5.9.0版本

    以下结构描述了类层次结构:

    com.xyz
    |-service
    |  |-IUserService
    |  |-impl
    |     |-UserService
    |-controller
       |-UserController
    
    @Autowired
    private IUserService userService

    另外,我已经尝试了这个线程中的所有答案,但没有成功地解决问题。有人面对过这个问题吗?预期的行为不是重新启动整个应用程序,而只是热交换更改的工件。

    编辑:

    以下是UserController示例:

    @org.springframework.web.bind.annotation.RestController
    @RequestMapping(value = "/user", produces = MediaType.APPLICATION_JSON_VALUE)
    public class UserController{
    
        @Autowired
        private IUserService userService;
        ...
    }
    
  • 共有1个答案

    耿锦
    2023-03-14

    Spring启动运行配置中有一个选项,可以在重新启动应用程序上下文之前尝试热交换:

    正确的触发器文件选项将自动添加到命令行。

     类似资料:
    • 我已经在tomcat服务器上安装了应用程序。在启动和加载应用程序的过程中,我有以下堆栈跟踪的错误。如何解决这个问题? apache-tomcat-7.0.47/webapps/petclinic 2016年10月27日下午12:14:36 org。阿帕奇。卡塔琳娜。果心标准上下文起始内部 严重:ServletContainerInitializer处理javax时出错。servlet。Servle

    • 所以如果有人能帮我解决这个问题,我将不胜感激。

    • 尝试完成Spring Boot教程:https://Spring.io/guides/gs/spring-boot/#initial 以下是我的课程: 和pom.xml: 当我尝试使用以下命令运行它时:“mvn package&&java-jar target/gs-spring-boot-0.1.0.jar”,我得到的是: “-dmaven.home=C:\program files\jetbr

    • 无法使用maven运行spring启动应用程序。当我运行命令mvn spring boot:run时,我收到:,但在pom中。我写的xml,其中是使用该示例的主要类: 我有这个项目结构: 我希望使用spring boot和maven运行我的应用程序。但现在它不起作用了。

    • 我试图运行简单的Spring Data Rest Boot应用程序(v1.2.3. RELEASE),只有一个小的修改从工作Spring参考示例应用程序(http://spring.io/guides/gs/accessing-mongodb-data-rest/),它无法启动。 更具体地说,当我使用: 下面是简单的代码配置: 在没有其他任何问题的情况下,我在启动时遇到以下错误: 2015-04-