maven的filtering没有起作用,没有把占位符给替换掉。(大家可以执行mvn clean package,看看打包后的jar里面的application.properties文件,是否有替换占位符)

filtering无效的原因是,pom.xml继承了spring boot的依赖

spring boot把默认的占位符号${}改成了@

方法一:

在pom.xml里面添加如下内容

<properties>
    <resource.delimiter>${}</resource.delimiter>
</properties>

方法二:

application.properties里面不用${},改成@

spring.datasource.url= @db.url@
spring.datasource.username=@db.username@
spring.datasource.password=@db.password@
spring.datasource.driver-class-name=@db.driverClassName@
spring.datasource.validationQuery=@db.validationQuery@

方法三:

pom.xml不继承spring-boot-starter-parent,dependency里面配置全部的依赖和版本号(继承了之后,很多依赖不用写version)

方法四:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.9.RELEASE</version>
</parent>

改成

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>1.5.9.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

 

posted on 2019-08-29 16:02  刘达人186  阅读(1479)  评论(0编辑  收藏  举报