maven创建父子模块步骤
1、新建一个空的maven项目,并把除了pom.xml的文件全部删掉
2、打开pom.xml文件,并选择OverView视图
注意:打包类型为pom。点Modules下年的Create创建子maven模块
如此反复就可以构建多个子maven工程了
父子maven模块的一些配置
值得注意的是:maven父模块打包类型为pom,子模块的web项目为war,其他模块为jar。
一、父模块的pom文件
1、每增加一个子模块就会在pom文件里增加一个module节点:
<modules>
<module>root-ambow-commons</module>
<module>root-ambow-model</module>
<module>root-ambow-service</module>
<module>root-ambow-mapper</module>
<module>root-ambow-web</module>
</modules>
2、父模块的依赖使用的是dependencyManagement进行统一的管理,这样子模块需要用依赖的话,直接引入父模块的依赖就行,不用引入版本号
<dependencyManagement>
<dependencies>
<dependency>
...
</dependency>
</dependencies>
</dependencyManagement>
二、子模块的pom配置
1、要在所有的子模块中加上:
<build>
<defaultGoal>compile</defaultGoal>
</build>
以防maven获取包或build的时候发生错误。
2、web子模块的配置
首先:因为使用maven构建web项目的时候,初始的时候可能会缺少一些文件,比如:src/main/resources啊,web.xml啊,这些。都需要先构建好,这是个完整的web项目。
然后:就是配置pom文件:
<!-- 解决classnotfond异常 -->
<build>
<defaultGoal>compile</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<configuration>
<webXml>WebRoot/WEB-INF/web.xml</webXml>
</configuration>
</plugin>
</plugins>
</build>
要执行web.xml文件的位置,不然install的时候会报错。
留意一下哈:
如果service层依赖dao层,dao层依赖commons层。即是:service---->dao---->commons
如果我的service层既要用到dao层,也要用到commons层,就不用导入dao和commons的依赖,直接导入dao层的依赖就行了,因为dao层是包含了commons层的。