首页  编辑  

Java/Mavan 多模块 mvn package 报 connot find symbol 类找不到的问题

Tags: /Java/   Date Created:
参考:
https://blog.csdn.net/ory001/article/details/119038592

Maven 项目结构如下:
PPP(父项目,带有 pom.xml)
|--common(公共模块,带 pom.xml)
|-ModuleA(模块A,带有 pom.xml)
+ModuleB(模块B,带有 pom.xml)

模块 Common, A, B 模块,设置 Parent 为 ppp的pom.xml。
模块 A和B,依赖 Common。

程序在Idea中运行正常,但是,使用 Maven 运行 mvn package 指令的时候,模块 A 和 B,报错:
cannot find symbole xxx ,其中 xxx 为公共模块中的类。

解决方法:
在 父pom.xml中,增加:
  1.  <build>
  2.   <plugins>
  3.    <plugin>
  4.     <groupId>org.springframework.boot</groupId>
  5.     <artifactId>spring-boot-maven-plugin</artifactId>
  6.     <configuration>
  7.      <classifier>exec</classifier>
  8.     </configuration>
  9.     <executions>
  10.      <execution>
  11.      </execution>
  12.     </executions>
  13.    </plugin>
  14.   </plugins>
  15.  </build>
在子模块A和B,添加 common 依赖的地方,增加
<scope>compile</scope>
记得检查其他的 artifactId, groupId 等是否正确。