idea(二)--idea中创建多模块项目、maven多模块开发

一、idea中创建多模块项目(多工程同时开发)

熟悉eclipse、myeclipse的人都知道,eclipse、myeclipse中都有工作的空间(workspace)的概念,一个workspace中可以创建多个project,即可同时打开多个项目进行开发。然而,遗憾的是在idea中并没有workspace的概念,取而代之的是project。idea中的project就相当于eclipse中的workspace,而idea中的module就相当于eclipse中的project。

因此,想要在idea中同时打开多个项目进行开发,可以这样做:

先new一个project,选择empty(空白工程,作为工作空间),空白工程的名称可以以整个项目系统的名称命名,如果工作空间中都是放些独立的、关联不大的小项目,则空白工程可以以当天日期命名。

创建好project(空白工程)后,我们在project(空白工程)中创建module(即具体的项目) 即可。如图:

new project (empty project) 

在project上右键new module(具体的项目),new project和new module的向导是一样的,只不过一个是创建项目,一个是创建模块。

二、idea中maven多模块项目的开发

注意,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中引入新的服务工程即可。

猜你喜欢

转载自blog.csdn.net/jasnet_u/article/details/81540512