问题说明
项目结构大概如下所示:
A---
|
----B
|
----C
B和C是同级的模块,A是B和C的父级模块;
在C模块中使用到了B中定义的一个类,进入到C模块执行mvn clean install -Dmaven.test.skip=true
命令时,出现错误显示B模块中所使用到的类找不到,但是我本地直接启动C模块是成功的。
解决
首先
- 检查C的pom文件中是否依赖了B模块
- 再检查C中使用到B定义类的地方,是否已经导包,即import …
以上这两点我都已经做到了,但是依然有问题。
最后解决方式:
- 到父级模块下执行
mvn clean install -Dmaven.test.skip=true
,成功。之后便可以进入到C目录下使用mvn命令进行构建。
问题原因:
- 因为C依赖了B,当B中的类有进行修改时,直接在C目录进行构建是不行的,要先到父级模块下执行一次intall操作。