最近开发了新的系统模块,因为老的工作空间已经有十几个项目了,所以使用了新的工作空间,使用了以前的套路,结果刚开始直接使用springboot启动时没有问题,到了部署到tomcat上的时候却开始报NoClassDefFoundError和TypeNotPresentException错误,刚开始我还以为是maven包冲突的问题。所以不停地折腾maven依赖,使用排除法,不停地删除和启动,后来还怀疑是tomcat的问题,又在老的tomcat里面执行。但是怎么都解决不了,而老的工作空间和老的项目就没有问题。搞了我整整两天时间,在项目最忙的时候,差点把我心态搞崩。今天终于解决了,原来是我以前遇到过的问题,只是我忘记了。
首先我们的项目有个公共依赖的pojo项目,我们以jar包的方式导入依赖。而在eclipse中可以在导出时配置本地项目打包
然后问题来了,这些项目将会以jar包的形式来部署,而jar包的结构和war包是不一样的,jar包没有WEB-INF/classes这样的结构,而是直接在根目录上。所以我们要把这些以jar包形式导出的项目部署路径改掉
这样导出到tomcat的时候lib里面的jar包结构才是正确的。
哎,浪费了好多时间,长个教训吧,幸好是解决了。