记一次,本地构建和运行没问题,测试环境有问题

1.现象

本地编译不报错,然后打包,部署到容器中。容器运行报错。错误日志是:

某一个bean.没有注入成功。而且打包几次不同,报的注入类错误也不同。

rg.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'macPoolController': Unsatisfied dependency expressed through field 'service'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.zhqc.cloud.frame.sso.admin.api.oauth.IMacPoolService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
 

2.然后我就在本地打包,以及运行发现均没有错误。

尝试了各种操作,比如以为有多个jar包冲突、或者maven仓库问题(删除本地仓库,重新编译),以及idea的缓存问题(idea invalid Cache)但是都没有解决。然后去检查编译的时候,发现一个service打包方式为jar包。当时想了下这个不应该打包成jar包,毕竟没有主运行类,也不提供服务,应该是pom包。然后也去掉了下面的打包插件。最终问题解决

2 原因:

a.引入了spring-boot-maven-plugin 插件,在一个不需要打成jar的service模块。

<build>
    <finalName>${project.artifactId}</finalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

b.service 模块打包方式为jar包,去掉该打包方式

3.结论

这个问题处理了接近一天。问题最后得到解决。因此,在pom引入包时,要格外小心,不要随便将模块打包方式改成jar包。更不要随意引入无关的插件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
单元测试是一种自动化测试方法,用于测试代码中的各个独立单元的功能是否正常。它通常由开发人员编写,与生产代码在同一个代码仓库中,并对外部环境进行真实调用,以确保整体功能与各单元部件的测试正常与否的强相关性。\[1\] 静态检查是一种代码分析方法,用于在编译或运行之前检查代码中的潜在问题。它可以帮助开发人员发现代码中的错误、漏洞和不规范的写法,以提高代码质量和可维护性。静态检查通常由代码分析工具自动执行,可以在开发过程中进行规范检查和奖惩。\[2\] 本地构建是指在开发环境中进行代码构建和测试的过程。通过本地构建开发人员可以在自己的机器上编译、运行和测试代码,以确保代码在本地环境中的正确性和稳定性。本地构建可以帮助开发人员及时发现和解决问题,提高开发效率。\[2\] 问题定位是指在软件开发过程中,当出现问题或错误时,通过分析和调试来确定问题的原因和位置。单元测试和静态检查可以帮助开发人员在早期发现问题,而本地构建可以提供一个可靠的环境来进行问题定位和调试。通过这些方法的结合使用,开发人员可以更快速地定位和解决问题,提高软件质量和开发效率。\[3\] #### 引用[.reference_title] - *1* *3* [单元测试详解](https://blog.csdn.net/Edward_hjh/article/details/129670775)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [单元测试规范](https://blog.csdn.net/Clearlove_S7/article/details/130576831)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值