idea构建多模块maven web项目
多多洛
我们在实际项目开发中,如果是一个很小的项目,可能就一个模块搞定,稍微大一点的项目就要分模块了,分模块也有几种分法,这个要根据项目的结构来确定。
1、整个项目很大,针对的用户群体也是一样,那么这种可能就是这么分的,controller 是一个模块,service是一个模块,dao 又是一个模块
2、整个项目大,但是项目针对的用户群体不一样,部署也是不一样,我们公司目前都是这样的项目,比如 这个项目需要一个内部后台,一个是面向用户的,我们还要提供接口给别的部门使用,那么我们就是这么分的,每个模块都是一个完整的maven web项目,最终就是一个独立的war包,独立部署。我们需要一个web模块 面向用户的,这个是需要分布式部署的,一个admin模块,这个就是公司内部人员使用的,这个就不需要分布式部署的,还有一个api模块,提供接口,那么就还需要一个common模块,其他模块都是依赖common模块的,因为底层逻辑都相同,所以这些逻辑就放到common模块提供给其他模块来使用。今天我们具体来讲讲这种分模块的方式,当然咯按照第一种方式分模块,构建方法跟这个是一样的。

1.构建父模块

注意,选中
  

然后











构建完成就是这样的

删除src目录

如果构建慢,请看这里 http://www.19shusheng.com/special/detail/b082971a86#2

2.构建common模块

选中刚才创建的myproject

这个是要构建子模块,所以要选中myproject
然后new module










构建完之后是这样的

3.构建admin模块

跟构建common模块类似,选中myproject

这个是要构建子模块,所以要选中myproject
然后new module










构建完成是这样的


我们要添加几个目录了,就跟 http://www.19shusheng.com/special/detail/b082971a86#301 一样
最后是这样的


修改myproject-admin的pom.xml的依赖,依赖common模块
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.myproject</groupId>
            <artifactId>myproject-common</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

我们可以构建下项目:
打开这个控制台


进入到项目:G:\ideaworkspace>cd myproject
然后执行:G:\ideaworkspace\myproject>mvn clean install -U
也可以通过系统自带的doc命令进行执行,如果没有配置maven的环境变量这里会报错,所以还是配置下maven的环境变量
具体可以看这里 http://www.19shusheng.com/special/detail/6693e0b35d




最后构建成功就是这样的

我们可以看下构建后的结果,在target目录下


也可以看下依赖的common模块 在myproject-admin\WEB-INF\lib


如果有业务需要,还可以构建其他的模块,构建方式跟admin模块是一样的,这里就不一一演示了。