SSM项目中引入spring-boot-starter-parent导致的错误

问题一: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上则报错


error.png
  • 解决办法:
    传统ssm项目就直接删掉spring-boot-starter-parent父类依赖,并添加相应的jar包版本号即可
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容