springmvc基于maven 构建的多模块项目(eclipse)

我一直都是这样的创建项目,先创建一个maven项目(父工程,packaging时选择pom)
在这里插入图片描述
然后在这个父工程上创建子模块
在这里插入图片描述
最后创建完多个子模块(service dao等等)
在这里插入图片描述
但是这种创建项目的缺点是,如果你的项目很大,会把所有的controller放到一个子模块,service放到一个子模块。这样不利于拆分。
例如:你做的是一个学校系统,那么这个系统可能包含以下几项;教学计划,招生等等(还有许多,我就不举例了),那么我想按这些模块划分,一个模块是一个项目,这就与上面说的有偏差,那么怎么办呢?
1.先创建一个父工程(上面有图)
2.在这个父工程下面创建两个子父工程(方法是一样的),分别为recruit和teachplan。
3.在recruit父工程上创建maven web项目,就是controller,也在创建maven 项目,就是service,同样在teachplan也是一样操作。
在这里插入图片描述
4.这样创建完,那么在打war包时,一个web项目时一个war包,所以这个项目只能打成两个war包。
如果想在recruit打包时,把teachplan也打包进去,那么在recruit的controller项目中的pom.xml中添加如下代码(你们的项目可能都引了这个maven-war-plugin插件了,那么就只需要在configuration添加项目的groupId 和artifactId,对于我们这个项目来说就是添加teachplan的controller项目的groupId 和artifactId):

  <build>
		<defaultGoal>compile</defaultGoal>
		<sourceDirectory>src/main/java</sourceDirectory>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.6</version>
				<configuration>
					<overlays>
						<!-- 模块war1 -->
						<overlay>
							<groupId>com.XXX</groupId>
							<artifactId>XXX-controller</artifactId>
						</overlay>
						<!-- 模块war2 -->
						<overlay>
							<groupId>com.YYYY</groupId>
							<artifactId>YYYY-controller</artifactId>
						</overlay>
					</overlays>
				</configuration>
			</plugin>
		</plugins>
	</build>

5.以上完成后并不好用,还是不能打成一个war包。还差最后一步,在recruit的controller项目中pom.xml中添加teachplan的controller项目的依赖(
<dependency> <groupId>com.tang</groupId> <artifactId>graduate-controller</artifactId> <version>1.0.0</version> <type>war</type> </dependency>
---------------------------------------------------------
完成以上步骤后,这个再打包recruit的controller包时就会把teachplan的controller也打包进去了。
最后一句话:这两个项目所用的配置文件是以recruit为准的。
好了,写的很乱,就是自己的一个记录。以防自己忘了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值