问题一:resource无法自动打入${}占位符的环境变量
- 原因:因为依赖了spring-boot-starter-parent依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
</parent>
spring-boot-starter-parent的pom文件中有<resource.delimiter>@</resource.delimiter>这个属性,将占位符设置为了@符号
- 解决办法:
1、在properties标签中添加<resource.delimiter>$</resource.delimiter>属性
2、在maven-resources-plugin插件中添加useDefaultDelimiters为false
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<delimiters>
<delimiter>${resource.delimiter}</delimiter>
</delimiters>
<useDefaultDelimiters>false</useDefaultDelimiters><!-- 这是重点-->
</configuration>
</plugin>
问题二:项目使用maven可以运行,部署到独立tomcat上无法运行
tomcat7:run 运行正常;war包部署到tomcat上则报错
- 解决办法:
传统ssm项目就直接删掉spring-boot-starter-parent父类依赖,并添加相应的jar包版本号即可