学了SpringBoot之后我想用这个框架把网站重新写一遍,因为原来的很多地方实在走了弯路,这么一改应该既能方便自己,还能提高速度,所以我开始了这份尝试。
改的过程还是较为顺利的,但是在部署到服务器的时候,我遇到了两个大坑,这里先讲一个,因为另一个还没解决?。
jar中没有主属性清单
因为SpringBoot项目打包成jar包时可以自带Tomcat,于是我最开始尝试的是打包成jar,但是根据网上的各种配置方法配置完后,使用java -jar xxx.jar
运行时提示jar中没有主属性清单……emmmmm,查了查原因,原来是jar中MANIFEST.MF文件缺少了一部分内容导致的。
想要解决这个问题,在IDEA中进行如下操作:
- 在项目的main.java包中创建
META-INF
包,在这个包里面创建一个文件名为MANIFEST.MF
,内容如下:
Manifest-Version: 1.0
Main-Class: top.zzbloc.blog.XxxApplication
注意,上面的XxxApplication
为你的SpringBoot主程序类。
- 进入File->Project Structure->Artifacts
- 按图片操作:
这里选择当前项目
坑就在这儿,按照网上的某些教程,会选择Main Class,但是我如果这么做,就会提示没有主属性清单,而如果手动添加刚才的.MF文件,并且这里直接确定,我就不会遇到上述问题。可以自行尝试两种方式(如果想选择Main Class,就要把刚才手动创建的.MF删掉,否则提示已存在)
这时,再Build->Build Artifacts后得到的jar包应该就不会提示“jar中没有主属性清单”了。
评论区