问题描述:
springboot项目在使用mvn clean package进行打包时报“找不到符号”、“程序包不存在”等错误。已经确定程序包的引用确实存在,程序不缺任何引用。尝试了1、IDEA清除缓存(invalidate caches)、2、重新构建项目(rebuild project),3、更新IDEA,4、pom重新加载,5、重新导入项目,6、mvn clean等多种方法都无效。
问题解决:
经过排查,发现是maven编译插件配置的问题。由于项目使用了多模块设计,却只在顶层模块pom中配置了maven编译打包插件,导致mvn package一直报错。
最终的配置在这里写一下。
项目结构如下:
其中common模块主要包含公用配置,如统一切面、结果封装对象、错误编码、异常信息等。data模块主要是业务相关的dao、dto以及mbg自动生成的代码等。test模块是业务相关代码,主程序入口也在test模块。
顶层模块pom配置:
data模块pom:
common模块与data一样。
test模块pom:
之后在顶层模块进行打包:
成功:
之后使用java -jar XXX.jar可直接运行。