实践 Maven 2:您的第一个 Maven 2 项目

在第一个实践的例子里,您将看到如何用最小的努力使用 Maven 2 构建简单项目。Maven 2 内置的关于 Java 项目的知识消除了其他构建工具也许必须要经历的冗长的配置过程。

处理数值操作的类

该例使用了一个处理数值操作的类。这个主体类的源代码(叫做 NumOps)如清单 4 所示。

[code]package com.ibm.devworks;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class NumOps {
private List ops = new ArrayList
();
public NumOps() {
ops.add( new AddOps());
}
public Operation getOp(int i)
{ Operation retval;
if (i > ops.size())
{ retval = null;
} else {
retval = (Operation) ops.get(i);
} return retval;
}
public int size() {
return ops.size();
}
public static void main( String args ) {
NumOps nop = new NumOps();
for (int i=0; i < nop.size(); i++) {
System.out.println( "2 " +
nop.getOp(i).getDesc() +
" 1 is " +
nop.getOp(i).op(2,1) );
}
}
}[/code]

NumOps 类管理一个能够在两个整数上执行数值操作的对象集。

main 方法创建一个 NumOps 实例,然后调用由 NumOps 管理的每个对象,同时分别调用它的 getDesc() 方法和 op() 方法。

由 NumOps 管理的所有对象都实现了在 Operation.java 中定义的 Operation 接口,接口代码如清单 5 所示:

[code]package com.ibm.devworks;

public interface Operation {
int op(int a, int b);
String getDesc();
}[/code]

在这个初始的例子里定义的惟一操作是一个 AddOps 类,如清单 6 所示:

[code]package com.ibm.devworks;

public class AddOps implements Operation {
public int op(int a, int b) {
return a+b;
}
public String getDesc() {
return “plus”;
}
}[/code]

执行 NumOps 类时,会打印出下列输出:

2 plus 1 is 3