熟悉eclipse、myeclipse的人都知道,eclipse、myeclipse中都有工作的空间(workspace)的概念,一个workspace中可以创建多个project,即可同时打开多个项目进行开发。然而,遗憾的是在idea中并没有workspace的概念,取而代之的是project。idea中的project就相当于eclipse中的workspace,而idea中的module就相当于eclipse中的project。
因此,想要在idea中同时打开多个项目进行开发,可以这样做:创建好project(空白工程)后,我们在project(空白工程)中创建module(即具体的项目) 即可。如图:
new project (empty project)
在project上右键new module(具体的项目),new project和new module的向导是一样的,只不过一个是创建项目,一个是创建模块。
注意,maven中的模块和idea中的模块是完全不同的两个东西,二者不要混淆。
maven中的模块关注点在maven的依赖体系,而idea中模块仅仅是为了方便idea管理自己project下的多个项目。
idea中的maven多模块开发与eclipse、myeclipse中的maven多模块开发是一样的,大致结构如下:
一个根工程 (pom)
基础工程base (jar)
服务子工程1 (jar)
服务子工程1实现工程 (war)
服务子工程2 (jar)
服务子工程2实现工程 (war)
controller工程 (war)
...
另外controller到service子工程的调用,还可以使用dubbo、hessian等方式进行远程调用 。例如,我搭建的一个模拟电商系统项目(ecshop)
在project视图中,我们可以看到 ,整个项目含有 :
ecshop 根工程, pom工程
ecshop-base 项目基础工程,封装整个系统中所使用的公共、底层组件,被其他所有工程所依赖 ,它是个jar工程。
ecshop-controller controller工程,它是个web工程,外部可以直接访问(浏览器),它是个war工程。
ecshop-sysService 系统服务工程,jar工程,定义了系统模块的api接口、model 类元模型等, controller工程pom中需引入此工程。
ecshop-sysServiceImpl 系统服务实现工程,war工程,实现sysService中定义的所有接口。
......
当然,如果项目较大 ,你还可以扩展新的服务工程和服务实现工程,然后让controller工程pom中引入新的服务工程即可。
Copyright © 叮叮声的奶酪 版权所有
备案号:鄂ICP备17018671号-1