文章目录
一、问题描述二、问题分析三、springboot在idea中导出jar包的正确方法1.删除原有MANIFEST.MF2.工程设置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.工程设置
步骤如下:
重点来了!!!!!!!!!!!!!
下图中红色部分是需要自己填写的,第一个是自动类,第二个直接按图中勾选,第三个一定一定要将原来默认的java文件夹改到resources文件夹
保存设置即可
3.导出jar包
在弹出来的选项里选择Build或者Rebuild即可生成jar包,导出的jar包位置在 工程总目录/out/artifacts/schoolbus_jar
总结
以后照着网上教程做的时候一定要多比较几个,有些博客真的是不负责任错的还写。
【idea】【springboot】【jar】导出jar运行后报错java.lang.ClassNotFoundException 及springboot在idea导出jar包的正确方法