上次說怎麼在springboot中添加webapp文件夾:https://blog.csdn.net/lianzhang861/article/details/103580311
項目中添加了webapp文件夾放各種靜態文件,本來用idea調試好運行都沒啥問題,但是打成jar包運行的時候,調用所有的jsp都是404,
在idea中的target中結構是這樣:
打包後的目錄結構變成這樣了:
雖然META-INF中的resources不在class中了,但訪問裏面的圖片啥的正常路徑都沒啥問題,但是訪問所有的jsp都成了404了。
後來查了查,原來像打包webapp這種打jar包時要指定打包插件版本爲1.4.2.RELEASE
<!--springboot提供的編譯打包插件-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.4.2.RELEASE</version>
<configuration>
<fork>true</fork>
<mainClass>com.bomc.enterprise.EnterpriseApplication</mainClass>
</configuration>
</plugin>
加上version再打包訪問jsp就沒問題了。
需要注意:
用這個版本打包規定項目中只能有一個main方法,有多個就會報錯打包失敗報錯:
Unable to find a single main class from the following candidates
解決辦法就是指定啓動class爲你的springboot主配置類,注意要寫你自己的主類路徑。
此時啓動jar包終於可以正常開打我的項目了!!!
再有就是啓動時總寫命令不方便,可以創建一個cmd文件,與jar包在同一個文件夾
裏面寫上啓動代碼:
java -jar enterprise-webapp-1.0.0.jar
每次雙擊run.cmd就可以啓動項目了。