maven 父子模块工程建立的一点疑问

需求如下图:


初学maven,有很多地方不知道怎么配置。我现在的需求如上图,请问是不是如下所示来建工程

---父工程
      |
      |----web子工程
      |
      |----core子工程
                |
                |----业务实现一子工程
                |
                |----业务实现二子工程

问题:
1、我理解是总共需要建五个工程,感觉有些恐怖。
2、core子工程相对来说也是一个父工程,此工程中能够定义一些接口或抽象类吗?
3、我现在设计有一个serviceFactory,提供一个getService(String flag)的方法来获取实际需要的业务实现类,那么这个serviceFactory应该放在web子工程还是core子工程中,个人觉得如果放在core子工程的话,那么core子工程与 业务实现一子工程 父子之间就会有双相依赖的关系了(子要父的接口,父要子的实现类),那么这一块依赖之间感觉会有问题。如果这样的话,serviceFactory应该放在web子工程中了,不知道我的理解是否正确。
4、如果serviceFactory放在web子工程中,那么这里就是单向依赖,即web子工程依赖core,业务实现一,业务实现二 这三个子工程了
5、web子工程 与 core子工程 是平级的,可以通过在web子工程中的pom.xml中添加
<dependency>
   <groupId>${project.groupId}</groupId>
   <artifactId>core子工程</artifactId>
   <version>${project.version}</version>
</dependency>
这种方式来解决依赖,那对业务实现一子工程的依赖是否也是同上的配置。

请高手帮忙解答一下疑问。

猜你喜欢

转载自zhanghaidang.iteye.com/blog/1300101