精华内容
下载资源
问答
  • nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder ‘project.url’ in value “${project.url}” 解决过程/思路(不想看思路的直接跳解决方案) 首先,我检查了的所有的...

    问题

    今天用idea启动springboot的时候发现某个配置没找到
    报错: Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder ‘project.url’ in value “${project.url}”

    解决过程/思路(不想看思路的直接跳解决方案)

    首先,我检查了的所有的配置文件,确定没有问题
    然后查看日志,确定是开发环境,需要的配置在文件中都配了
    再然后根据日志找到报错的地点
    PropertyPlaceholderHelper中的parseStringValue方法,如图
    在这里插入图片描述

    查找附近代码,发现是因为propVal为null才报错的
    在这里插入图片描述
    然后从propVal定义的地方开始debugger
    发现placeholderResolver.resolvePlaceholder(placeholder);是获取${xxx}中 xxx 的属性,ctrl+u 执行代码
    将placeholder替换为其他的属性字符串,发现有些配置的值确实没取到,像是玄学问题:明明所有的配置都写的好好的
    但是,所有的玄学问题都是因为不了解才导致的,找不到原因只是因为自己不熟悉
    开始思考原因
    在这里插入图片描述
    众所周知,代码执行的目录是项目编译后的目录,而不是源代码所在的目录,然后就去找编译后的目录中的配置
    这个目录springboot的日志其实已经输出来了如图:
    在这里插入图片描述
    果然,发现编译后的目录中少了配置
    在这里插入图片描述
    找到原因就好办了,使用maven clear 将生成的文件清空,然后再启动
    问题解决!!

    解决方案

    1. 检查配置文件中的配置有没有写错
    2. 检查application.yml/bootstrap.yml 配置文件中的active是否配对,或者看日志中的这条日志,然后检查对应的日志文件
      在这里插入图片描述
    3. 如果上述操作检查之后都没问题,检查target目录(或者自己配的class文件输出目录)下的配置文件对不对,如果不对 使用maven clear命令清除这些文件,重新启动
    4. 如果还不行,那就只能在源码中debugger了

    结语

    所有的玄学问题都是因为我们对它们不够熟悉,所有的bug必然会有一个或多个原因,如果认为它是一个玄学问题,那只能说,我们对这个事物不够熟悉,而不是因为玄学,计算机行业更是如此,让我们的代码中没有玄学

    写这篇文章的时候想起了我初入行的时候,不会debug,也不知道如何解决bug,将好多问题归咎于玄学,经常在不知道为什么产生bug的时候使用重启大法,有时有用有时没用,可能就是缺少一些这样的方法论

    展开全文
  • MySQL nested exception is com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Invalid JSON text: "Invalid value." at position 1 in value for column

    前言

    网上没有现成答案解决这种json数据格式的

    ### SQL: INSERT  INTO `order`(`o_id`,`department_id`,`start_adress`,`end_adress`,`proposer`,`relevant_user_id`,`remarks`,`start_time`,`end_time`,`status`,`other`,`c_time`,`title`)VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)
    ### Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Invalid JSON text: "Invalid value." at position 1 in value for column 'order.relevant_user_id'.
    ; Data truncation: Invalid JSON text: "Invalid value." at position 1 in value for column 'order.relevant_user_id'.; nested exception is com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Invalid JSON text: "Invalid value." at position 1 in value for column 'order.relevant_user_id'.
    
    

    解决

    在这里插入图片描述
    这种json类型传值 用斜杠转译 单引号无效
    在这里插入图片描述

    {
      
      "departmentId": "121",
      "endAdress": "广州东站",
      "endTime": "2020-11-11 14:30:30",
      "other": "【带两个】",
      "proposer": "0112119838",
      "relevantUserId": "[[\"0112119838\"]]",
      "remarks": "接送旅客",
      "startAdress": "白云机场",
      "startTime": "2020-11-11 18:30:30",
      "status": 0,
      "title": "测试"
    }
    
    展开全文
  • 问题描述: Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'hik.host' in value "${hik.host}

    问题描述:

    Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'host' in value '${host}'

    问题分析:

    1、@Value("${host}")对应的配置在.properties或者.yml文件里面找不到。

     

    展开全文
  • in value "${mail.host}" at org . springframework . util . PropertyPlaceholderHelper . parseStringValue ( PropertyPlaceholderHelper . java : 172 ) at org . springframework . util . ...

    在通过SpringBoot读取配置文件信息时,读取失败抛出异常.

    java.lang.IllegalStateException: Failed to load ApplicationContext
    
    	at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:125)
    	at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108)
    	at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190)
    	at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132)
    	at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246)
    	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227)
    	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289)
    	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291)
    	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246)
    	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)
    	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    	at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
    	at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
    	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
    	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
    	at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
    	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
    	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'emailConfig': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'mail.host' in value "${mail.host}"
    	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:380)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1411)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:592)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
    	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
    	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:849)
    	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877)
    	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
    	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775)
    	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
    	at org.springframework.boot.SpringApplication.run(SpringApplication.java:316)
    	at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:127)
    	at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99)
    	at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:117)
    	... 24 more
    Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'mail.host' in value "${mail.host}"
    	at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:172)
    	at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:124)
    	at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:237)
    	at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:211)
    	at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambda$processProperties$0(PropertySourcesPlaceholderConfigurer.java:175)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:851)
    	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1188)
    	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1167)
    	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:593)
    	at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90)
    	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:374)
    	... 40 more
    

    大概是原因没有获得配置文件中的属性信息.
    属性文件

    # Email config
    api.aliyun.email.mail.host=smtp.aliyun.com
    api.aliyun.email.mail.transport.protocol=smtp
    api.aliyun.email.mail.service.address=XXX@aliyun.com
    api.aliyun.email.mail.service.password=XXXX
    

    原因,自己在写获取属性路径时,@ConfigurationProperties注解没有指向配置文件的最后一级.

    @Component
    @PropertySource("classpath:config/api.properties")
    @ConfigurationProperties(prefix="api.aliyun.email")
    @Data
    public class EmailConfig {
        @Value("${mail.host}")
        private String mailHost;
    
        @Value("${mail.transport.protocol}")
        private String mailTransportProtocol;
    
        @Value("${mail.service.address}")
        private String mailServiceAddress;
    
        @Value("${mail.service.password}")
        private String mailServicePassword;
    }
    

    这里@ConfigurationProperties中,prefix只是指向了一部分属性前缀信息,剩余的想通过@Value来指向.

    修改为
    删除@ConfigurationProperties注解,并在@Value中指向配置属性

    @Component
    @PropertySource("classpath:config/api.properties")
    @Data
    public class EmailConfig {
    
        @Value("${api.aliyun.email.mail.host}")
        private String mailHost;
    
        @Value("${api.aliyun.email.mail.transport.protocol}")
        private String mailTransportProtocol;
    
        @Value("${api.aliyun.email.mail.service.address}")
        private String mailServiceAddress;
    
        @Value("${api.aliyun.email.mail.service.password}")
        private String mailServicePassword;
    }
    
    展开全文
  • nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'custom.filehost' in value "${custom.filehost}" at org.springframework.beans.factory.annotation....
  • 在springboot项目中,通过@Value("${aliyun.oss.file.endpoint}")读取application.properties配置文件的内容报错: org.springframework.beans.factory.BeanCreationException: Error creating bean with name '...
  • 启动报错:Could not resolve placeholder ‘profile.name’ in value “${profile.name}” spring.profiles.active=${profile.name} 报错 环境: 开发工具:idea 报错内容 07-30 12:11:39.336 INFO [o.s.c.s....
  • 本人自己遇到的问题, ... Could not resolve placeholder 'config.info' in value "${config.info}" 解决方案 : 检查nacos config 配置文件的内容格式问题; 缩进,空格,格式之类的问题, 解决问题 ...
  • 参考:http://120.203.18.89:6969/41/could-not-resolve-placeholder-spring-datasource-url-in-value-spring-datasource-url/ 今天在测试环境运行Maven工程时,出现莫名其妙的无法初始化mybatis错误,主要是读取不...
  • Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'hello' in value "${hello}" 百度一下解决问题,感觉网上说的不是很清楚,新手的话一时半会可能看不懂,自己就写一篇博客吧。力求...
  • 这周会补上的,那么我们废话不多说,直奔主题: 遇到的报错: nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder ‘XXX’ in value “${XXX}” 出现这种问题的几种原因: 1....
  • 项目启动报错:Could not resolve placeholder ‘spring.datasource.url’ in value “${spring.datasource.url}” 项目在配置更改后要对maven进行clean,install的操作,清除以重新编译项目
  • 我的是maven项目 先对项目进行clean操作 然后重新install操作 再启动就不会报错了。
  • public class ConfigClientController { @Value("${config.info}") private String configInfo; @GetMapping("/config/info") public String getConfigInfo() { return configInfo; } } 4 主启动类 @...
  • 在启动类上配置以下代码即可 @Bean public static PropertySourcesPlaceholderConfigurer placeholderConfigurer() { PropertySourcesPlaceholderConfigurer placeholderConfigurer = new ...
  • Springboot多个类中引用配置文件中...)导致的报错:Couldnotresolveplaceholder′∗′invalue"{"xxx"})导致的报错:Could not resolve placeholder '*' in value ...
  • 从SpringCloudConfig跳到Nacos做配置中心,结果今天遇到了一...Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'config.info' in value "${config.info}" at org.springframework....
  • 一般这种情况出现在springboot项目测试类中@Value(“配置文件”)注入,@Test方法中得到null; 问题出现的原因:当前测试类,不是一个springboot工程,@Test启动时不会加载配置文件 解决思路: 将当前测试类以...
  • nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder ‘…’ in value “${…}” 说明解析不到配置文件的参数。 解决方法: 右击config目录→Mark Directory as→...
  • 出现此异常其原因是因为spring配置文件中同时出现了两个或多个properties配置文件: 解决办法是在配置后面都加上ignore-unresolvable=”true”
  • 在外部调用项目接口时,接口和参数都没有问题,发现出现了如下错误: :: 环境:springBoot 本人此问题出现的原因是在springBoot 项目中加入了xss过滤拦截,而请求接口带的参数刚好在拦截名单中。...
  • 最近发开使用到Apollo分布式配置中心,但是在管理后台发布了相关配置在IDEA中使用@Value注入却一直没有将配置中心的相关配置进行注入,如下 经过排查是Apollo的apollo.meta配成Apollo管理后台的地址,应该是...
  • nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'AppID' in value "${AppID}" at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor...
  • Could not resolve placeholder 'mytopic' in value "${mytopic}" 可以看出是引入这个字段出现错误了。 2.问题分析 查看配置文件,引用字段都没有问题 @Value("${mytopic}") private String myTopic; 最后...
  • 1.切到存放项目的工作空间,然后clean maven就好了
  • 在springboot的application.yml文件中配置了参数schedu,然后在业务中通过@Value(“${schedu}”)进行赋值,但是启动之后... Could not resolve placeholder 'schedu' in value "${schedu}"... 解...
  • nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'xxx' in value "${xxx}。 当在第一个application.yml下找不到的时候,它就会报错。 参考诸多解决方法,发现在主...
  • 项目运行报错: org.springframework.beans.factory....Could not resolve placeholder 'releaseUrl' in value "${releaseUrl}" 解决方法:将@Value("${releaseUrl}")改为@Value("${spring.datasource.url}")
  • 今天在学习spring cloud config 配置中心,把配置文件放git 上,然后在client端出现了这个报错: config client配置文件application.yml: config client的Controller: @RefreshScope ... @Value("...
  • 查看了下project.basePath是写在配置文件application.properties当中的,说明这个值都没获取到,想了下应该是idea没有加载该文件,于是进行了设置就好了。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,419,974
精华内容 967,989
关键字:

invalue