要建一个新项目,于是想把老的ssm项目改成spring boot项目,以便以后老项目重构时能比较轻松,一切配置妥当以后发现springboot在IDEA启动都没什么问题,但是打成jar包访问的时候,后台方法能进去,但是jsp全部404,网上搜了好多,看到的方法大同小异,一直想尝试打包版本不用1.4.2能否成功最后还是没有办法。
妥协之下更换1.4.2,总结一下更换后仍需解决的问题:
1.更换spring-boot-maven-plugin版本为1.4.2.RELEASE,这个版本需要注明启动main函数对应类否则会报错
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.4.2.RELEASE</version>
<configuration>
<mainClass>com.hetaimall.start.CustomApplication</mainClass>
</configuration>
</plugin>
2.资源路径打包位置 这里的${
<resource>
<directory>src/main/webapp</directory>
<!--注意此次必须要放在此目录下才能被访问到 -->
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/**</include>
</includes>
</resource>
3.这样部署完之后启动应该启动还会报错 继续解决方案
在每个spring-boot-starter下添加
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
好了这样就能成功打包,另外如果配了https 还需将jar包放到tomcat.keystore同目录
执行java -jar XXXX.jar 运行成功
非常困惑为什么只有这个低版本1.4.2可以解决这个问题,现在最新都已经2.3.几的版本了。可能有别的处理方法,但是暂时是不清楚了。