Maven 2:参与多个项目构建

使用 Maven 2 构建和测试简单项目是很直接的。本部分用第二个例子来展示更现实也更为通用的多模块项目。

扩展 NumOps 样例

NumOps 的例子将在此处的第二个例子里得到扩展。添加一个新 SubOps 类来支持减法,添加一个新 MulOps 类来支持乘法。

但 Operation 接口和 AddOps 类现在己从 NumOps 项目中移走。相反,它们和新的 SubOps 和 MulOps 类一起放到了一个叫做 OpsImp 的新项目中。图 7 显示了 NumOps 和 OpsImp 项目间的这种关系:

在大型软件开发项目中,子项目和子模块之间常存在依赖性。

您可以将这里的这项技术应用到有着多个相互依赖项的任何多模块 Maven 项目中。

清单 13 里的 SubOps 在编码上和 AddOps 类似。这里没有显示的 MulOps 也类似.

实现 Operation 接口的新 SubOps 类

[code]package com.ibm.devworks;

public class SubOps implements Operation {
public int op(int a, int b) {
return a-b;
}
public String getDesc() {
return “minus”;
}
}[/code]

现在修改了 NumOps 的构造函数来创建一个 SubOps 实例和一个 MulOps 实例。参见随附的源代码获取详情。