build.bat:
echo on
set PROJET_HOME=..
set JAVA_HOME=%PROJET_HOME%/../jdk/windows
set ANT_HOME=%PROJET_HOME%/../ant
call %ANT_HOME%/bin/ant -f build.xml build_all -Dkkk=123456
pause
build.xml:
<project name="MyProject" default="dist" basedir="..">
<description>
simple example build file
</description>
<!-- set global properties for this build -->
<property name="src" location="src"/>
<property name="testsrc" location="test"/>
<property name="tmpclass" location="tmp/class"/>
<property name="tmptest" location="tmp/testclass"/>
<property name="testrep" location="testrep"/>
<property name="dist" location="dist"/>
<path id="lib">
<pathelement path="${classpath}"/>
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
</path>
<target name="init">
<!-- Create the time stamp -->
<tstamp/>
<!-- Create the build directory structure used by compile -->
<echo message= "${kkk}"/>
<delete dir="${tmpclass}"/>
<mkdir dir="${tmpclass}"/>
<delete dir="${tmptest}"/>
<mkdir dir="${tmptest}"/>
<delete dir="${testrep}"/>
<mkdir dir="${testrep}"/>
</target>
<target name="compile" depends="init"
description="compile the source " >
<!-- Compile the java code from ${src} into ${build} -->
<javac srcdir="${src}" destdir="${tmpclass}" includeAntRuntime="false">
<classpath>
<path refid="lib"/>
</classpath>
</javac>
</target>
<target name="testcompile" depends="compile"
description="compile the source " >
<!-- Compile the java code from ${src} into ${build} -->
<javac srcdir="${testsrc}" destdir="${tmptest}" includeAntRuntime="false">
<classpath>
<path refid="lib"/>
<pathelement path="${tmpclass}"/>
</classpath>
</javac>
</target>
<target name="dist" depends="compile"
description="generate the distribution" >
<!-- Create the distribution directory -->
<mkdir dir="${dist}/lib"/>
<!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file -->
<jar jarfile="${dist}/lib/MyProject-${DSTAMP}.jar" basedir="${tmpclass}"/>
</target>
<target name="test" depends="testcompile">
<junit printsummary="true">
<classpath>
<path refid="lib"/>
<pathelement path="${tmptest}"/>
<pathelement path="${tmpclass}"/>
</classpath>
<formatter type="plain"/>
<batchtest fork="yes" todir="${testrep}">
<fileset dir="${testsrc}">
<include name="**/*Test.java"/>
</fileset>
</batchtest>
</junit>
</target>
<target name="build_all" depends="compile,testcompile,test,dist"/>
<target name="clean"
description="clean up" >
<!-- Delete the ${build} and ${dist} directory trees -->
<delete dir="${build}"/>
<delete dir="${dist}"/>
</target>
</project>
目录结构:
build 存放构建脚本
lib 存放依赖包
test 存放单元测试源码
src
刚开始只在lib下存放junit.jar会抛找不到类的异常,可能跟版本也有关系:
org/hamcrest/SelfDescribing
java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
Caused by: java.lang.ClassNotFoundException: org.hamcrest.SelfDescribing
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
再下载这个包:
hamcrest-core-1.2.jar
参考链接:
http://stackoverflow.com/questions/1171264/ant-junit-noclassdeffounderror
http://ant.apache.org/manual/index.html
分享到:
相关推荐
5. **整合ANT和JUnit**:在Eclipse中,可以配置ANT构建脚本来调用JUnit测试。通过ANT,可以设定测试目标,例如编译源代码、运行测试、生成测试报告等。当ANT执行测试时,JUnit会运行所有的测试用例,并报告测试结果...
然后,我们有两个目标,一个是`compile`,用于编译源代码,另一个是`test`,用于执行JUnit测试。`junit`任务中,我们指定了测试报告的输出格式和失败时是否停止测试,以及要运行的测试类。 对于单元测试,我们需要...
使用 Ant 构建 JUnit 测试 使用 Ant,可以自动完成 JUnit 测试的构建和运行。需要在 build.xml 文件中添加 JUnit 任务,指定 JUnit 的 classpath 和测试类的位置。然后,使用 Ant 运行 JUnit 测试,生成测试报告。 ...
同时,由于Ant可以与JUnit集成,手册也将教你如何通过Ant来运行JUnit测试,从而实现构建过程中的自动化测试。 Ant与JUnit的结合使用是Java开发中的常见实践,Ant负责项目的构建,而JUnit则确保代码的质量。通过Ant...
通过编写清晰的Ant构建脚本和详尽的JUnit测试,你可以确保代码的质量和项目的稳定性,从而提高软件的可靠性。这个教程应该会涵盖从基本概念到高级特性的方方面面,帮助你熟练掌握这两个工具的使用。
在"ant junit测试"的场景下,我们通常会用Ant来驱动JUnit进行测试。首先,你需要在Ant的构建文件(通常命名为build.xml)中定义一个任务,这个任务负责调用JUnit的测试类。这可以通过Ant的`junit`任务来实现。在`...
在这个"Ant+JUnit测试报告实际例子"中,我们将深入探讨如何结合这两者来生成详细的测试报告。 首先,`build.properties` 文件通常包含了构建过程中的配置属性,如项目版本、库路径、源码编码等。这些设置可以被 `...
在Ant中集成JUnit测试,通常会使用一个名为junit的Ant任务。这个任务会调用JUnit的测试运行器,执行指定的测试类或方法。在“buildjunit.xml”中,可能会定义这样一个任务,包含如下的配置: ```xml ...
在build.xml中,我们可以看到一个名为"junit"的任务,这是Ant用来运行JUnit测试的专用任务。为了使用JUnit4,我们需要引入相应的jar包,这就是ant-junit4.jar。这个文件包含了Ant对JUnit4的支持,使得开发者可以在...
"ant-junit-1.6.5.jar"是Ant对JUnit支持的库文件,它包含了Ant执行JUnit测试所需的类和方法。这个JAR文件让Ant能够调用JUnit,并在构建过程中运行测试。在build.xml文件中,可以配置JUnit任务(<junit>),指定测试...
例如,`javac`任务用于编译Java源代码,`jar`任务用于打包成JAR文件,而`junit`任务则用于运行JUnit测试。 在与JUnit结合使用时,Ant可以在构建过程中自动执行测试,并生成测试报告。在配置`junit`任务时,你需要...
在“ant-junit-1.7.0.jar.zip”中,包含了Ant对JUnit支持的特定版本,即1.7.0,这使得开发者能够直接在Ant构建脚本中调用JUnit进行单元测试。 2. JUnit 1.7.0 JUnit 1.7.0是JUnit的一个早期版本,虽然现在已经有了...
“ant-junit-1.6.1.jar”是Ant对JUnit支持的一个库文件,它包含了Ant运行JUnit测试所需的类和资源。这个版本(1.6.1)相对比较老,但仍然适用于许多遗留项目。当我们在Ant的构建脚本中配置JUnit任务时,需要引入这个...
- 安装JUnit库,将其jar文件添加到Ant的lib目录,以便Ant能够运行JUnit测试。 - 安装Subversion(Svn),配置相关环境变量。 - 将svnant.jar,svnClientAdapter.jar,svnjavahl.jar添加到项目的lib目录,以支持...
2. **创建JUnit测试类**:在项目中编写JUnit测试类,每个类通常对应于一个或多个被测试的源代码类。测试类应包含各种测试方法,这些方法使用JUnit的断言(如`assertEquals`、`assertTrue`)来验证代码的行为。 3. *...
标题“Ant与JUnit结合”指的是在Java开发中如何利用Apache Ant构建工具与JUnit测试框架进行集成,以便自动化地运行单元测试。Apache Ant是一种基于XML的构建工具,它替代了传统的Makefile,为Java项目提供了构建、...
《Maven2.Ant.Junit合集》是一个包含多种IT工具和框架的资源包,主要聚焦于Java开发中的构建管理和单元测试。这个合集提供了PDF和CHM两种格式的文档,便于不同用户根据个人喜好进行阅读。以下是这些工具及其重要知识...
在Ant构建脚本中,可以使用`<junit>`任务来运行JUnit测试。例如: ```xml <junit printsummary="yes" haltonfailure="no"> <!-- 添加JUnit库 --> ${java.class.path}"/> **/*Test.java"/> ...
接下来,我们需要配置Ant构建文件(build.xml),这是一个XML格式的文件,定义了构建过程的所有任务。 1. **配置build.xml** 在`build.xml`中,我们需要创建一个`junit`任务。例如: ```xml <junit ...