-
springboot application.properties不生效
早上上班以后,项目无论如何就是运行不起来,一直提示各种错误。后来一路排查发现是application.properties没有生效导致的。本篇文章记录一下排查过程。
开始一直提示 Failed to configure a DataSource: ‘url’ attribute is not specified and no embedded datasource could be configured.
完整错误提示如下:
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).
根据提示像是DataSource.url没配的原因。但是很确定的是配置DataSource url了的。于是就想着重新运行一下试试,仔细观察了一下idea控制台输出日志,发现居然连port也编程默认的8080了,但是application.properties配置的是8002。这就算是定位到问题了,说明application.properties没有生效。看了一眼target文件夹,application.properties文件没有被自动复制到target文件夹下。
原因分析:
1.想着会不会是谁不小心把pom里的packaging给设置错了,可以将设置一下,改成jar。很快这个被推翻了,因为并没有改动。
2.想着还可能是谁不小心在子module里面又加了一个module,虽然remove,delete,但是modules标签与还在pom还在的原因。但是看了一下也不是这个原因。
3.想着会不会是谁不小心把pom的build->resource->include的规则给改了,于是在maven的pom.xml重新声明include规则。改完以后运行试一下。发现好了。
解决方案:
在maven 的pom.xml下增加这段即可:
<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.*</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.*</include> </includes> </resource> </resources> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
https://github.com/toutouge/javademosecond/tree/master/hellospringboot
作 者:请叫我头头哥
出 处:http://www.cnblogs.com/toutou/