【IDEA】解决maven多工程项目"找不到符号"问题
2019-10-15 本文已影响0人
长孙俊明
背景
项目是springboot,分多模块:common公共模块(不需要build)、order订单模块(需要build)和stock库存模块(需要build)。
需要build的模块都是带main方法,需要启动运行。
项目在idea运行都没问题,一到maven install之后,order订单模块找不到stock库存模块相关jar,如下:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project orderservice: Compilation failure: Compilation failure:
[ERROR] /Users/apple/Downloads/apollo/lcn-parent/order-service/src/main/java/com/springcloud/orderservice/feign/StockFeign.java:[3,35] 程序包com.springcloud.stock.stock不存在
[ERROR] /Users/apple/Downloads/apollo/lcn-parent/order-service/src/main/java/com/springcloud/orderservice/feign/StockFeign.java:[7,37] 找不到符号
[ERROR] 符号: 类 StockService
网络上各种找,无法就是如下答案
通常来说有一下三个原因:
- 可能项目编码格式不统一。
- 可能项目编码使用的JDK版本不统一。
- pom依赖问题,这种依赖可能是没有添加包的依赖,如果是聚合项目可能是没有添加其他模块的依赖,或者是添加了其它模块的依赖,但是没有将依赖的模块打包到本地仓库等。
但是对我来说,没用。
最后通过这篇文章https://www.cnblogs.com/geekdc/p/10744903.html
才解决问题。
最后,我的理解是,使用springboot搭建聚合工程是,需要遵循如下规则:
1、项目之间存在依赖的时候,被依赖端pom文件中不能有build节点。