记录刚开始使用gardle踩得坑,写了个功能web项目,本地测试没问题,打成jar包各种报错,java -jar启动jar包就报错找不到启动类,用idea打包报错找不到主类或者启动类。折腾一天才查到gradle 打包spring项目需要用shadowjar。
jar包启动报错,我的理解是因为spring项目jar包,启动需要依赖
gradle构建的jar包是不包含依赖的,只包含项目源码。
可是有些情况下我们希望JAR包中也包含相关依赖
,所以启动报错,要用shadowjar打包会包含依赖。
用shadowjar插件打包需要设置
id 'com.github.johnrengelman.shadow' version '6.1.0'
shadowJar { mainClassName = 'com.benjaminwan.OcrFirstApplication' }
mainClassName地址是你的sping启动类,地址根据自己项目的地址写