• springboot启动项问题,服务无法被访问


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 m0_70935513 2024-05-22 15:30 采纳率: 0% 浏览 5 首页/ 后端 / springboot启动项问题,服务无法被访问 spring boot后端 运行主类出现以下问题: 2024-05-22 15:18:41.147 WARN 18968 --- [ restartedMain] o.m.s.mapper.ClassPathMapperScanner : No MyBatis mapper was found in '[com.spring.util, com.spring]' package. Please check your configuration. 同时 024-05-22 15:24:56.364 ERROR 32904 --- [ restartedMain] o.s.b.web.embedded.tomcat.TomcatStarter : Error starting Tomcat context. Exception: org.springframework.beans.factory.BeanCreationException. Message: Error creating bean with name 'servletEndpointRegistrar' defined in class path resource [org/springframework/boot/actuate/autoconfigure/endpoint/web/ServletEndpointManagementContextConfiguration$WebMvcServletEndpointManagementContextConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar]: Factory method 'servletEndpointRegistrar' threw exception; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'healthEndpoint' defined in class path resource [org/springframework/boot/actuate/autoconfigure/health/HealthEndpointConfiguration.class]: Unsatisfied dependency expressed through method 'healthEndpoint' parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'healthIndicatorRegistry' defined in class path resource 2024-05-22 15:24:56.458 WARN 32904 --- [ restartedMain] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat 2024-05-22 15:24:56.474 INFO 32904 --- [ restartedMain] ConditionEvaluationReportLoggingListener : Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2024-05-22 15:24:56.476 ERROR 32904 --- [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter : 端口访问的时候GET http://localhost:8080/authAdminLogin会: GET http://localhost:8080/authAdminLogin io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: localhost/[0:0:0:0:0:0:0:1]:8080 弄了一下午也没解决了,有什么办法吗,感谢至极 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    3条回答 默认 最新

    • 专家-赤兔[在线] 全栈领域优质创作者 2024-05-22 15:30
      关注

      引自免费微信小程序:皆我百晓生

      从你提供的错误信息来看,主要有两个问题:MyBatis 映射器未找到以及 Spring Boot 应用在启动时遇到了 WebServerException。

      首先解决 MyBatis 映射器的问题。警告信息表明在 com.spring.utilcom.spring 包下没有找到 MyBatis 的映射器接口。你需要确保你的 Mapper 接口已经被正确地放在了这些包下的某个目录,并且在配置文件(通常是 mybatis-config.xml 或者通过注解配置)中指定了正确的包扫描路径。

      如果你的 MyBatis 配置是基于 XML 的,检查 mybatis-config.xml 文件中的 标签是否包含了正确的包名,例如:

      
      

      如果你的 MyBatis 配置是基于注解的,确保你的 Mapper 接口有正确的注解,例如:

      package com.spring.util.mapper;
      
      import org.apache.ibatis.annotations.Mapper;
      
      @Mapper
      public interface YourMapper {
          // ...
      }
      

      接下来解决 WebServerException。这个错误通常与 Spring Boot 的健康检查(Health Indicator)有关。为了定位问题,我们需要查看具体的堆栈跟踪,但根据报错信息,可能是某些 Health Indicator 依赖的服务或组件未能正常初始化。

      你可以尝试以下几个步骤来排查问题:

      1. 检查应用中是否有自定义的 Health Indicators,确保它们的实现没有问题。
      2. 确保所有的依赖库都已包含在项目中,特别是任何用于健康检查的第三方库。
      3. 尝试移除或禁用一些非关键的 Health Indicator 来看看问题是否会消失。
      4. 清理并重新构建项目,有时候构建缓存可能存在问题。
      5. 如果使用了 Spring Cloud Actuator,确保相关依赖已经添加到项目中。如果没有,添加以下依赖到你的 pom.xmlbuild.gradle 中:

      对于 Maven:

      
          org.springframework.boot
          spring-boot-starter-actuator
      
      

      对于 Gradle:

      implementation 'org.springframework.boot:spring-boot-starter-actuator'
      
      1. 如果问题依然存在,可以尝试将日志级别设置为 DEBUG,以便获取更详细的堆栈跟踪信息。在 application.propertiesapplication.yml 文件中添加以下内容:
      logging.level.org.springframework=DEBUG
      

      然后重新启动应用,查看完整的堆栈跟踪,这可能会提供更多的线索来确定具体的问题所在。

      如果以上步骤都无法解决问题,建议分享一下项目的结构、相关的配置文件(如 application.propertiesmybatis-config.xml 等)、以及 Health Indicator 相关的代码片段,这样能更准确地定位问题。

      展开全部

      评论 编辑记录
    • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-05-22 15:30
      关注
      让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
      问题描述: 运行主类时,出现了两个错误。第一个错误是没有在指定包中找到MyBatis映射器,需要检查配置。第二个错误是启动Tomcat容器失败,导致应用程序启动失败,提示端口连接拒绝。 解决办法: 针对第一个错误,需要检查MyBatis配置,确保映射器在指定的包路径下。如有必要,可以使用@Mapper注解标记映射器接口。 示例代码: 在MyBatis配置文件中,指定映射器包路径: 在映射器接口中,使用@Mapper注解: @Mapper public interface UserMapper {
      ...
      

      } 针对第二个错误,需要检查Tomcat配置以及应用程序代码。如果端口连接被拒绝,可能是由于端口已被占用或Tomcat配置有误。 示例代码: 检查Tomcat配置,确保端口号正确,例如: server.port=8080 检查应用程序代码,确保端口号与Tomcat配置一致,例如: @RequestMapping("/authAdminLogin") public String login() { ... } 如果问题仍未解决,可以尝试调试应用程序,获取更多信息。使用Spring Boot的--debug选项可以输出详细的调试信息,例如: java -jar myapp.jar --debug 同时,可以查看应用程序日志,了解具体的错误信息和堆栈跟踪。

      评论
    • 百锦再@新空间代码工作室 全栈领域优质创作者 2024-05-22 15:32
      关注

      根据问题描述,主要问题出现在启动应用时无法找到MyBatis mapper和Tomcat启动异常。同时出现端口访问连接被拒绝的问题。

      针对MyBatis mapper的问题,可能是配置问题导致扫描不到mapper。需要检查MyBatis配置文件中的mapper扫描路径是否正确。

      对于Tomcat启动异常的问题,看起来是由于某些bean无法创建导致应用无法启动。需要检查相关bean的配置,并确保依赖注入正确。

      关于端口访问被拒绝的问题,可能是应用未正常启动或端口被占用。可以尝试查看应用启动日志,确认应用是否成功启动。另外,可以尝试修改应用端口或检查防火墙设置。

      综上所述,需要检查MyBatis配置、bean配置和应用启动情况,以解决问题。如果无法解决,建议查看更详细的错误日志信息或尝试在调试模式下重新运行应用以获取更多信息。


      有问题你别着急,评论留言都可以,看到马上就回复,尽量及时补充齐
      评论
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    嵌入式学习笔记(1)ARM的编程模式和7种工作模式
    深度学习之激活函数——Leaky ReLU
    基于SSM的在线电影管理系统
    Candence Virtuoso基本电路设计(一)
    Docker consul
    docker创建elasticsearch、elasticsearch-head部署及简单操作
    怎样去掉win11快捷方式的小箭头
    opencv视频文件的读取,处理与保存
    eclipse格式化代码快捷键
    嵌入式学习-核心板、开发板和单片机
  • 原文地址:https://ask.csdn.net/questions/8107563