分布式项目中会用到多模块,就会形成父子工程,需要模块之间的依赖
我的模块分布式如下:
├── common --公共资源模块
├── base --返回类、编码枚举类
├── config --公共配置
├── domain --数据库映射对象
├── repository --持久层接口
├── service --业务层接口
├── impl --实体类
├── utils --工具
├── student --学生模块
├── repository --持久层接口,继承公共模块持久层接口
├── service --业务层接口,继承公共模块业务层接口
├── impl --实体类
├── teacher --教师模块
├── repository --持久层接口,继承公共模块持久层接口
├── service --业务层接口,继承公共模块业务层接口
在student、teacher模块中要依赖common模块
但是最近发现一个问题,虽然项目的各个模块能够运行,但是打包时却出现:
[ERROR] Failed to execute goal on project xxxx-student: Could not resolve dependencies for project com.xxxx:xxxx-student:jar:1.0-SNAPSHOT: Could not find artifact com.xxxx:xxxx-common:jar:1.0-SNAPSHOT -> [Help 1]
而后我又试了一下在root模块下clean再install,但是同样出现该问题
解决方案
在common模块的pom文件下
添加一行
<packaging>jar</packaging>
再在common模块下重新clean,install,确保本地仓库生成其jar包
重新再在root模块下clean,install,成功!
在分布式项目中,通过模块化管理代码时遇到了打包失败的问题。具体表现为在student和teacher模块依赖common模块时,打包时无法找到common模块的jar包。解决方法是在common模块的pom.xml中添加<packaging>jar</packaging>,然后先在common模块执行clean和install,确保本地仓库有其jar包。最后在root模块执行clean和install,问题得到解决。
1725

被折叠的 条评论
为什么被折叠?



