nested exception is java.lang.IllegalArgumentException处理

在springboot项目的开发过程中,也许你会遇到这种操蛋的情况——

当你使用@Value注解正用得美滋滋的时候,你尝试启动项目,却报nested exception is java.lang.IllegalArgumentException。就像这样。

  • application.properties文件中你是这样写的

  •  service层中你是这样写的

  • pom文件中你也如下写了

 但是,就是报nested exception is java.lang.IllegalArgumentException,很操蛋。有的说是application.properties中写错了;有的用的application.yml文件时,说是其中的yml语法有问题,比如缩进问题;有的说是@component注解扫描问题......   但上述问题你一一排除之后,发现仍不能解决问题。

所以,此时大概率你要用如下方法解决问题——

也许你的pom文件中resources的配置最初是这样式的

<resources>
      <resource>
        <filtering>true</filtering>
        <directory>src/main/resources</directory>
      </resource>
</resources>

这样写本身没有问题,也许你在之前的项目中这样是可以的,可当你进行项目迁移(比如同步git)后,发现突然就不行了,然后报nested exception is java.lang.IllegalArgumentException。此时只需要将resources作如下修改就行。

<resources>
      <resource>
        <filtering>true</filtering>
        <directory>src/main/resources</directory>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.xml</include>
        </includes>
      </resource>
</resources>

总结原因就是,service加载不到properties中预设的value值,此时include即可,希望能够帮到你。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值