今天来记录下最近遇到的坑:
架构:ssm延伸:引入springboot 聚合工程
问题: 在sprigboot配置方面用到了2.0+版本,打jar包无法访问但是项目跑着是正常访问的,判定出在了打包的问题上.
START:
父级pom文件依赖的springboot版本为2.1.4.RELEASE,
在正常的Ecilpse打包方法发现打包成功,但是访问404.
当时用尽了任何办法,都是无法访问,总之结果在于:
1. springboot的路径相信大家会知道,另外再提示下
<resource>
<directory>src/main/webapp/</directory>
<!--注意此次必须要放在此目录下才能被访问到 -->
<targetPath>META-INF/resources</targetPath>
</resource>
2.打包用到的版本改为1.4.2.RELEASE,再打包运行你会发现,竟然不报404了
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.4.2.RELEASE</version><!--$NO-MVN-MAN-VER$-->
</plugin>
在打包<build> 下--><plugins> 下 重写覆盖掉原先的父pom的springboot版本 ,此处只对打包生效.完美解决.
以下是我的web打包的pom下build标签配置:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.4.2.RELEASE</version><!--$NO-MVN-MAN-VER$-->
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
<useDefaultDelimiters>true</useDefaultDelimiters>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/webapp/</directory>
<!--注意此次必须要放在此目录下才能被访问到 -->
<targetPath>META-INF/resources</targetPath>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
</build>
以下是一段application.properties 配置
server.port=8081
#静态资源默认读取路径(默认有这4个位置,可以根据需要自己添加)
#spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/, classpath:/static/
spring.resources.static-locations=classpath:/resources/
#静态资源访问路径规则
spring.mvc.static-path-pattern=/static/**
spring.mvc.view.prefix=/WEB-INF/view/
spring.mvc.view.suffix=.jsp
spring.thymeleaf.cache=false
spring.thymeleaf.enabled=false