上次说怎么在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就可以启动项目了。