聚合工程

1.聚合的概念
    把项目的各个模块(子工程)聚合在一起构建。一般用于分模块开发,最后整体打包发布
    Maven Project独立运行
    Maven Module无法独立运行
2.聚合工程开发步骤
    1.根项目是一个pom项目。
    2.子模块:Maven Module
    3.每个模块写完后需要上传到私服(略)
    4.打包,需要整体打包找到最后的war项目使用Tomcat加载
    实际中,我们会将一些庞大的项目拆分为若干模块进行开发
    三层+MVC 如下:

    父工程maven-core
        所有的项目所需要的jar包都放在父工程的pom.xml下
    子工程model-------jar
    子工程dao----------jar
    子工程service------jar
    子工程web----------war
    注意:聚合打包时(install),选择父工程进行聚合
	     发布到tomcat运行时(tomcat7:run),选择web工程进行发布运行 
3.工程聚合和继承的区别
    聚合是为了方便快速构件项目。对于聚合模块来说,它知道有哪些被聚合的模块,但那些模块不知道这个聚合模块的存在    
    继承是为了消除重复配置。对于继承关系的父POM来说,它不知道有哪些子模块继承于它,但是子模块必须知道自己的父POM是什么


model工程的pom.xml如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <!--groupid是项目组织唯一的标识符,自定义-->
    <groupId>com.qf</groupId>
    <artifactId>父工程项目名</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>model层项目名</artifactId>
</project>

dao工程的pom.xml如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.qf</groupId>
    <artifactId>父工程项目名</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>dao层项目名</artifactId>
  
  <dependencies>
  	<dependency>
  		 <groupId>com.qf</groupId>
  		 <artifactId>model层项目名</artifactId>
  		  <version>0.0.1-SNAPSHOT</version>
  	</dependency>
  </dependencies>
</project>

service工程的pom.xml如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.qf</groupId>
    <artifactId>父工程项目名</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>service层项目名</artifactId>
  
  <dependencies>
  	<dependency>
  	    <groupId>com.qf</groupId>
    	    <artifactId>dao层项目名</artifactId>
    	    <version>0.0.1-SNAPSHOT</version>
  	</dependency>
  </dependencies>
</project>

web工程的pom.xml如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>com.qf</groupId>
		<artifactId>父工程项目名</artifactId>
		<version>0.0.1-SNAPSHOT</version>
	</parent>
	<artifactId>web层项目名</artifactId>
	<packaging>war</packaging>

	<dependencies>
        <!--servlet依赖的jar包-->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
			<!-- 该包在发布到tomcat后,该包将有tomcat提供 -->
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>com.qf</groupId>
			<artifactId>service层项目名</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>
	</dependencies>
	
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.2</version>
				<configuration>
					<!--项目打成的包的名字 -->
					<path>/mvn-core</path>
					<!--tomcat的端口 -->
					<port>8080</port>
					<!--设置tomcat服务器编码 -->
					<uriEncoding>UTF-8</uriEncoding>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

父工程maven-core的pom.xml如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.qf</groupId>
  <artifactId>父工程项目名</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
  <modules>
  	<module>model层项目名</module>
  	<module>dao层项目名</module>
  	<module>service层项目名</module>
  	<module>web层项目名</module>
  </modules>
</project>

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值