springboot项目打包为jar
因为要将项目部署至Linux服务器下,所以需要将开发好的项目进行打包,但上传后一直执行出错,在本地是可以执行成功的,所以在此分享一下其中的问题。
网上分享的有两种方法,但是我用maven的package打包执行的出错更严重,在此只分享下步骤,希望解决其中问题的大佬指导一下。
具体过程
- 打开project Structure,点击Artifacts
- 点击+号选择 JAR
- 选择主类与META-INF的位置,这点很关键,我的问题就在于META-INF文件
- 然后点击apply ok
- 接下来在项目选项栏中选择Build,选择Build Artifacts
- 若已存在选择rebuild, 不存在选择build
- OK,你以为结束了吗?
关键问题
找到生成的_jar文件,打开之后执行projectname.jar文件发现还是有错误,
是因为jar包里的META-INF文件有问题,将之前我们设置的路径下的META-INF文件放入jar包中,此时就能够成功执行了
NOTICE:
若仍然没有解决问题的话,这里我采用的方法是找一个能够成功生成并执行_jar文件的版本,然后将自己修改的内容重新添加到该版本中,这样就能够成功解决了,亲测有效。具体是什么问题目前我也不清楚,但该方法是能够解决该问题的。
另一个比较傻的问题描述为 不存在或找不到主类, 但主类我们明明在前面已经设置了,实际上是因为我们应该执行的是projectname_jar文件夹内的projectname.jar文件,但我却将projectname_jar文件夹打包为.jar包,最终执行就找不到主类了,尴尬。。。