intellij idea springboot无法读取配置文件的解决方法

问题描述



Spring Boot项目中运行之后,出现如下的错误:

***************************
APPLICATION FAILED TO START
***************************

Description:

Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class

Action:

Consider the following:
If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.

If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).

或者出现@Value注解的值无法导入的时候,

 Could not resolve placeholder ‘elasticsearch.host‘ in value "${elasticsearch.host}"

  

可以用以下的解决方案

问题分析及解决方案



问题原因: Mybatis没有找到合适的加载类,其实是大部分spring - datasource - url没有加载成功,分析原因如下所示.

  1. DataSourceAutoConfiguration会自动加载.
  2. 没有配置spring - datasource - url 属性.
  3. spring - datasource - url 配置的地址格式有问题.
  4. 配置 spring - datasource - url的文件没有加载.

网上给出了这几种解决方案.

方案一 (解决原因1)

排除此类的autoconfig。启动以后就可以正常运行。

@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})

  

方案二 (解决原因2)

在application.properties/或者application.yml文件中没有添加数据库配置信息.

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/read_data?useUnicode=true&characterEncoding=UTF-8&useSSL=false
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver
 

方案三 (解决原因3)

在spring xml配置文件中引用了数据库地址 所以需要对:等进行转义处理.但是在application.properties/或者application.yml文件并不需要转义,错误和正确方法写在下面了.

#错误示例
spring.datasource.url = jdbc:mysql\://192.168.0.20\:1504/f_me?setUnicode=true&characterEncoding=utf8
#正确示例
spring.datasource.url = jdbc:mysql://192.168.0.20:1504/f_me?setUnicode=true&char

方案四 (解决原因4)

要在pom文件中<build></build>添加如下.来保证yml或者properties文件能被正常扫描到且加载成功.(intellij idea 运行时,扫描不到src文件夹(java文件夹)里面的配置文件)

<resources>
   <resource>
      <directory>src/main/java</directory>
      <includes>
         <include>**/*.yml</include>
         <include>**/*.properties</include>
      </includes>
      <filtering>false</filtering>
   </resource>
   <resource>
      <directory>src/main/resources</directory>
      <includes>
         <include>**/*.yml</include>
         <include>**/*.properties</include>
      </includes>
      <filtering>false</filtering>
   </resource>
</resources>

原文地址:https://www.cnblogs.com/phlive/p/11459147.html

时间: 2024-11-13 10:03:47

intellij idea springboot无法读取配置文件的解决方法的相关文章

IntelliJ IDEA 编译程序出现 非法字符 的 解决方法(转)

百度到很多方法,比如(删了文件重新建:先改成GBK再UTF8:粘贴到notpad++上改utf8),但都没有解决问题.下面这种方法确实有效,先记下来,如果有其他好方法将来在补充…… 文章来源:  https://blog.csdn.net/isea533/article/details/52704160 下面是copy~ 网上有很多答案,没有特别好使的解决方法,这个问题很常见,就跟在 CMD 执行 javac 命令遇到中文时一样,只需要增加-encoding UTF8 参数. 具体在 IDEA

springboot中读取配置文件@Value和@Configuration

[email protected] package com.xgcd.springboot.bean; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Component; import java

Springboot如何读取配置文件中的属性

Springboot自定义属性注入 SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者application.yml(application.yaml)进行配置. SpringBoot默认会从resources目录下加载application.properties或application.yml(application.yaml)文件 下面介绍如何获取配置文件中的属性 我们以自定义数据源为例

springboot无法识别配置文件级解决办法

eclipse中右键项目bulid path 之后找到 后点击完成后点击运用 修改完成 原文地址:https://www.cnblogs.com/study-together/p/11374390.html

c# 解决读取Excel混合文本类型,数据读取失败的解决方法

错误重现: ----------------------------------------------------------------------- 在导入Excel读取数据时,其中的一个字段保存的值有如下格式:"2011072014","20110Aad10","25124Adfa","例子asdfadf"  这样的 混合了 "字母/数字/中文"数据, 在Excel表格中的前 8条 或 前 8+ 条

[JAVA开发]Properties读取中文乱码解决方法

1 确认工程的统一编码. 例如UTF-8 , project->properties->text file encoding 选择  UTF-8 2 JSP统一编码. 打开JSP文件: 以下都是要关注的地方. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> response.setCharacter

springboot应用无故停止运行killed解决方法

最近使用springboot开发了一个ip代理的程序,今天放到阿里云服务器上运行,多次出现应用运行突然停止的问题. 使用free -h 查看内存使用完全正常.重新运行监视CPU使用也正常.没有出现堆内存溢出,栈内存异常,内存异常等信息. 百思不得其解,然后就搜索了关键字springboot killed,在stack overflow上看到 之后,看了阿里云服务器的swap  空间,果然为0.最后使用以下命令添加了swap为物理内存的两倍. 1.dd if=/dev/zero of=/var/s

MyEclipse中提示SpringMVC的XML配置文件出错解决方法

手动添加schema文件,方法如下: 1,依次选择:windwos->preferences->myeclipse->files and editors->xml->xmlcatalog2,点"add",在出现的窗口中,在location中选"File system",然后选择你下载的spring-beans-3.2.0.xsd,文件3,回到设置窗口的时候不要急着关闭窗口,应把窗口中的Key Type改为Schema location,

【SpringBoot】【3】读取配置文件中的参数并配置给全局使用

前言: 读取配置文件参数的方法:@Value("${xx}")注解.但是@Value不能为static变量赋值,而且很多时候我们需要将参数放在一个地方统一管理,而不是每个类都赋值一次. 正文: 注意:一定要给类加上@Component 注解 application.xml test: app_id: 12345 app_secret: 66666 is_active: true 统一读取配置文件参数: package com.example.demo.config; import or