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

需求如下图:
[img]http://dl.iteye.com/upload/picture/pic/104180/b713672c-83a3-343c-9669-92606b644cd1.png[/img]

初学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中添加

${project.groupId}
core子工程
${project.version}

这种方式来解决依赖,那对业务实现一子工程的依赖是否也是同上的配置。

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

你可能感兴趣的:(java)