NormanZyq
发布于 2019-08-19 / 269 阅读
0
0

部署SpringBoot项目时遇到的坑

学了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
  • 按图片操作:
    Jietu20190819-073709@2x

这里选择当前项目

Jietu20190819-073727@2x

坑就在这儿,按照网上的某些教程,会选择Main Class,但是我如果这么做,就会提示没有主属性清单,而如果手动添加刚才的.MF文件,并且这里直接确定,我就不会遇到上述问题。可以自行尝试两种方式(如果想选择Main Class,就要把刚才手动创建的.MF删掉,否则提示已存在)

这时,再Build->Build Artifacts后得到的jar包应该就不会提示“jar中没有主属性清单”了。


评论