场景
设有 A、B 两个 module,B 依赖于 A,项目结构大致如下:
问题分类
打包 B 时无法找到 A 的 jar 包
- 原因:maven 仓库中没有 A 的 jar 包。
- 解决方法:在 maven 管理页面中,运行 mavn 的 install 命令,将工程下所有模块都加入到 maven 仓库。
- 踩坑点:可能你会觉得,B 依赖于 A,只需要保证 maven 仓库里有 A 的 jar 包,只 install 模块 A 不就行了,完全没必要 install 整个父工程。对于单 module 工程来说,这样没错。但是本例是一个多层级的 maven 工程。B 依赖于 A, B、A 都依赖于父工程。因为所以,B 在依赖于 A 时,同样的也依赖了父工程。如果只 install A 模块,打包 B 模块时则会爆出找不到父工程 jar 包的错误。
已经 install 所有相关模块,打包 B 时报错找不到 A 模块中的类
- 原因:打包模块 A 时需要添加 maven-plugin 脚本
- 解决方案:在模块 A 的
pom.xml
中加入以下内容:
<project>
<!-- 其他内容 -->
.......
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<classifier>exec</classifier>
</configuration>
</plugin>
</plugins>
</build>
</project>
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于