项目场景:
自己搭建了springboot项目,本地自启动没有问题,功能点都能正常测试。于是打包部署到开发机器上,进行联调测试,但在部署的过程中无法启动项目,在此背景下,进行了问题排查。
问题描述
Exception in thread “main“ java.lang.ClassNotFoundException:XXX
排查的过程中,用反编译工具等方式,对开发环境包进行反编译查看。最初的猜想是,Jenkins打包是否存在问题,导致项目无法启动?
反编译后jar包的内容和引用的包都没问题,反过来再仔细分析错误ClassNotFoundException,
原因分析:
开始溯源问题原因:在pom 文件中,启动mainClass 里,主程序单词小写,导致无法找主程序
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.boe.OcrApiApp</mainClass>
</configuration>
</plugin>
解决方案:
调整pom 文件,再重新编译