4.例子
在这个例子中,我们新建了一个项目,项目的名字叫hello,项目的结构如下:

main/src/java/com/test/qik/HelloMaven.java:示例的程序
package com.test.qik;
public class HelloMaven {
public static boolean main(String[] args) {
System.out.println("Hello, maven!");
return true;
}
public void testa() throws Exception {
System.out.println("test,可以发布到生产库的版本");
}
}
main/test/java/com/test/qik/HelloMavenTest.java:示例程序的单元测试用例
package com.test.qik;
import junit.framework.TestCase;
public class HelloMavenTest extends TestCase {
public static void main(String[] args) {
}
public HelloMavenTest(String arg0) {
super(arg0);
}
protected void setUp() throws Exception {
super.setUp();
}
protected void tearDown() throws Exception {
super.tearDown();
}
/*
* Test method for 'com.test.qik.HelloMaven.main(String[])'
*/
public void testMain() {
HelloMaven hm = new HelloMaven();
assertEquals(hm.main(null),true);
}
}
target/:输出路径
build.xml:ant的构建文件
文件内容如下:
==============================================================
<?xml version="1.0" encoding="UTF-8"?>
<project default="CI" name="hello" basedir=".">
<!--设置参数 -->
<property name="项目中文名称" value="测试cc项目"></property>
<property name="project_folde"
value="E:\cruisecontrol-2.3.1\projects\hello">
</property>
<property name="源程序目录" value="${project_folder}\main\src"></property>
<property name="测试程序目录" value="${project_folder}\main\test"></property>
<property name="编译程序目录" value="${project_folder}\target\classes"></property>
<property name="lib目录" value="${project_folder}\target\lib"></property>
<property name="单元测试报告目录"
value="E:\cruisecontrol-2.3.1\projects\hello\test-reports">
</property>
<property name="单元测试报告文件名" value="junit-noframes.html"></property>
<property name="CVS用户名" value="administrator"></property>
<property name="CVS密码" value="patterns"></property>
<property name="CVS地址" value="127.0.0.1"></property>
<property name="CVS仓库" value="/cvsserver"></property>
<property name="CVS模块" value="hello"></property>
<property name="CVSLib模块" value="target"></property>
<property name="CVS连接符"
value=":pserver:${CVS用户名}:${CVS密码}@${CVS地址}:2401:${CVS仓库}">
</property>
<property name="CVS检出目录" value="E:\cruisecontrol-2.3.1\projects"></property>
<property name="邮件服务器地址" value="smtp.xxxxx.com"></property>
<property name="发送邮件用户" value="xxx"></property>
<property name="发送邮件密码" value="xxxxxx"></property><!—这里应该输入明文的用户名和密码,示例中不输入-->
<property name="接受报告用户邮件列表" value="xxx@xxxx.com"></property>
<property name="发送用户邮箱地址" value="xxx@xxxx.com"></property>
<property name="生成jar文件"
value="E:\cruisecontrol-2.3.1\projects\hello\target\hello.jar">
</property>
<property name="生成jar文件的基础路径"
value="E:\cruisecontrol-2.3.1\projects\hello\target\classes">
</property>
<!--持续集成流程 -->
<target name="CI" depends="初始化,获取源码,编译源码,运行测试,生成jar" />