要建一個新項目,於是想把老的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.幾的版本了。可能有別的處理方法,但是暫時是不清楚了。