java 工作中踩过的坑,java开发过程中踩过的一些坑

记录开发中遇到的一些坑, 便于以后回顾, 也给面试的小伙伴提供一些素材.

1. springboot多模块项目中基础模块install失败, 或虽然install成功, 但是仓库中的jar包为springboot的可执行jar

原因: 查看打包日志可以发现, maven自身的打包插件先执行生成一个文件A(xx.jar), 之后springboot的打包插件再次执行打包又生成一个同名的文件B(xx.jar), 此时B文件会覆盖A文件

解决方案: 修改springboot的打包插件配置, 给打包结果添加一个后缀, 使其打包结果文件和maven自身打包结果文件不一样

org.springframework.boot

spring-boot-maven-plugin

exec

true

true

2. springboot打包时失败, 提示spring-boot-maven-plugin:2.1.6.RELEASE: Unable to find a single main class from the following candidates[xxx.xxx.xx, xxx.xxx.xx, ......] 或spring-boot-maven-plugin:2.1.6.RELEASE:repackage failed: Unable to find main class

1. pom.xml文件中设置parent为springboot, 且项目中有两个或两个以上的main方法, 且这些main方法所在的类上面没有@SpringBootApplication注解(即不确定哪个main方法作为主入口)

2. pom.xml文件中设置parent为springboot, 但项目中没有main方法

解决方案:

保证项目中有且今有一个main方法.在springboot中一般都仅有一个main方法, 其他的main方法更多的是做测试遗留的. 所以删掉不必要的main方法, 获取添加一个main方法

3. 在service层调用自身有事务的方法, 事务不生效

原因: 自调用时,用的不是ioc容器中的bean, 所以不会被aop做增强处理.

解决方案: 先获取ioc容器中相应的bean, 然后通过这个bean调用其他方法, 可参考:https://blog.csdn.net/changerzhuo_319/article/details/97095755

4. service层有多个方法, 且方法中都调用了mapper接口, 在A方法中mapper接口可以正常调用, 在B方法中mapper实例时null

原因: 事务仅对public、非static方法生效

解决方案: 修改方法的修饰符

5. springboot, mybatis多数据源时, 在配置文件中配置的下划线转驼峰不生效

可能原因:在配置文件中并没有指定具体哪个数据源需要下划线转驼峰, 所以没生效

解决方案: 在每个数据源配置中添加下划线转驼峰, 其他一些配置也需要在每个数据源中配置爱

6. feign 调用其他服务时, 用的get请求, 但报错提示post请求不支持

原因: 暂时未知

解决方案: 在请求参数上加上@requestParam("name")注解

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值