【idea】【springboot】【jar】导出jar运行后报错java.lang.ClassNotFoundException 及springboot在idea导出jar包的正确方法

文章目录

    • 一、问题描述
    • 二、问题分析
    • 三、springboot在idea中导出jar包的正确方法
      • 1.删除原有MANIFEST.MF
      • 2.工程设置
      • 3.导出jar包
  • 总结

一、问题描述

使用idea将springboot项目导出jar包,放在服务器上运行,按照网上一种方法做了后发现没有问题可以运行。后来功能发生改变,用到了新的第三方jar包,再次使用网上的方法在服务器上运行时,总会报错java.lang.ClassNotFoundException。

二、问题分析

根据报错信息,去找了一下导出的jar中确实有缺少的部分,那报错的原因可能就是classpath出现了问题。但是在MANIFEST.MF文件中确实又也发现有正确的路径。反复查资料后发现,正确的MANIFEST.MF根本没有被用到,是之前找的导出jar包的方法有错。

三、springboot在idea中导出jar包的正确方法

1.删除原有MANIFEST.MF

在项目resources中有一个META-INF文件夹,把整个文件夹删除掉。
这个文件夹下的 MANIFEST.MF文件中记录着classpath,使用到的包放生了变化后需要重新生成。

2.工程设置

步骤如下:
【idea】【springboot】【jar】导出jar运行后报错java.lang.ClassNotFoundException 及springboot在idea导出jar包的正确方法_第1张图片
【idea】【springboot】【jar】导出jar运行后报错java.lang.ClassNotFoundException 及springboot在idea导出jar包的正确方法_第2张图片
【idea】【springboot】【jar】导出jar运行后报错java.lang.ClassNotFoundException 及springboot在idea导出jar包的正确方法_第3张图片
重点来了!!!!!!!!!!!!!
下图中红色部分是需要自己填写的,第一个是自动类,第二个直接按图中勾选,第三个一定一定要将原来默认的java文件夹改到resources文件夹
【idea】【springboot】【jar】导出jar运行后报错java.lang.ClassNotFoundException 及springboot在idea导出jar包的正确方法_第4张图片
保存设置即可

3.导出jar包

【idea】【springboot】【jar】导出jar运行后报错java.lang.ClassNotFoundException 及springboot在idea导出jar包的正确方法_第5张图片
在弹出来的选项里选择Build或者Rebuild即可生成jar包,导出的jar包位置在 工程总目录/out/artifacts/schoolbus_jar
【idea】【springboot】【jar】导出jar运行后报错java.lang.ClassNotFoundException 及springboot在idea导出jar包的正确方法_第6张图片

总结

以后照着网上教程做的时候一定要多比较几个,有些博客真的是不负责任错的还写。

你可能感兴趣的:(服务器)