IDEA下springboot项目打包Error: Invalid or corrupt jarfile .\xxxxx.jar与找不到主类

springboot项目打包为jar

因为要将项目部署至Linux服务器下,所以需要将开发好的项目进行打包,但上传后一直执行出错,在本地是可以执行成功的,所以在此分享一下其中的问题。

网上分享的有两种方法,但是我用maven的package打包执行的出错更严重,在此只分享下步骤,希望解决其中问题的大佬指导一下。

具体过程

  • 打开project Structure,点击Artifacts

IDEA下springboot项目打包Error: Invalid or corrupt jarfile .\xxxxx.jar与找不到主类_第1张图片

  • 点击+号选择 JAR

IDEA下springboot项目打包Error: Invalid or corrupt jarfile .\xxxxx.jar与找不到主类_第2张图片

  • 选择主类与META-INF的位置,这点很关键,我的问题就在于META-INF文件

IDEA下springboot项目打包Error: Invalid or corrupt jarfile .\xxxxx.jar与找不到主类_第3张图片

  • 然后点击apply ok
  • 接下来在项目选项栏中选择Build,选择Build Artifacts

IDEA下springboot项目打包Error: Invalid or corrupt jarfile .\xxxxx.jar与找不到主类_第4张图片

  • 若已存在选择rebuild, 不存在选择build
  • OK,你以为结束了吗?

关键问题

找到生成的_jar文件,打开之后执行projectname.jar文件发现还是有错误,

是因为jar包里的META-INF文件有问题,将之前我们设置的路径下的META-INF文件放入jar包中,此时就能够成功执行了

NOTICE:

若仍然没有解决问题的话,这里我采用的方法是找一个能够成功生成并执行_jar文件的版本,然后将自己修改的内容重新添加到该版本中,这样就能够成功解决了,亲测有效。具体是什么问题目前我也不清楚,但该方法是能够解决该问题的。

 

 

另一个比较傻的问题描述为      不存在或找不到主类,    但主类我们明明在前面已经设置了,实际上是因为我们应该执行的是projectname_jar文件夹内的projectname.jar文件,但我却将projectname_jar文件夹打包为.jar包,最终执行就找不到主类了,尴尬。。。

你可能感兴趣的:(web)