Ant构建Java项目总结(2)
来源:互联网 发布:数控折弯编程教学视频 编辑:程序博客网 时间:2024/05/21 09:01
1.属性Property
定义路径使用location
- 使用location的原因:主要是由于不同系统,其路径的分隔符不一致,使用value属性将无法自动转换为操作系统所识别的路径分隔符
<!-- define the path --><property name="src.dir" location="src"></property><property name="build.dir" location="build"></property><property name="build.src" location="${build.dir}/src"></property><property name="build.classes" location="${build.dir}/classes"></property><property name="build.lib.dir" location="${build.dir}/lib"></property>
使用value来定义值
<property name="execute.class" value="com.dtrees.Main"></property><property name="jar.name" value="AntProject.jar"></property>
当属性过多时可以使用properties文件来存放
注意:如果是路径,不建议定义在properties文件中,原因是会见数据值转换为value的值,而非指定为location对应的值,将无法转换为系统识别的路径分隔符
## build.propertiesexecute.class=com.dtrees.Mainjar.name=AntProject.jar## xml<property flie="build.properties"></property>
加载系统环境变量,即可以获取系统环境变量数据值
<property environment="env"></property>
引用Ant已经定义好的默认属性
<target name="testAnt"> <!-- Ant定义的默认属性 --> <echo>${ant.home}</echo> <echo>${ant.java.version}</echo> <echo>${ant.version}</echo> <!-- 系统环境变量属性 --> <echo>${env.CLASSPATH}</echo> <echo>${env.JAVA_HOME}</echo> <echo>${env.PATH}</echo></target>
2.Path与FileSet
FileSet属性
- dir:指定文件夹的目录
- includes:指定该文件夹包含的文件(多个文件,使用正则表达式)
- excludes:指定该文件夹不包含的文件(多个文件,使用正则表达式)
- includeFile:指定该文件夹要包含的一个文件
- excludeFile:指定该文件夹不包含的一个文件
<path id="compile-jar"> <fileset dir="${lib.dir}" includes="*.jar"></fileset></path>
Path
- id:声明该路径的唯一标识
- description:对该声明的路径进行描述
- location:指定该Path的路径,能够根据相应的操作系统将路径转换为系统识别的路径
- refid:指定引用path有声明的id
<path id="compile-test-jar"> <path refid="compile-jar"></path> <pathelement location="${build.classes}"/></path>
Ant 与 JUnit
Junit 属性标签
- printsummary:指定是否要打印出测试的详细结果信息
- haltonfailure:指定如果单元测试失败,其被依赖的target将不被执行(设置为true将因失败不再往后执行)
- classpath:指定要进行Junit测试的字节码文件
- test:表示要进行测试的一个单元测试的字节码文件
- formatter:表示将出现的错误信息以一定的形式展现出来,这里指定为xml
- batchtest:批量测试
- todir:表示要将测试的信息结果导出到指定的目录中
- fileset,即需要进行批量测试的单元测试字节码文件
导出JUnit测试报告标签Juintreport
- todir:表示要将测试的信息结果导出到指定的目录中
- fileset,即导出的文件夹目录中,应当包含的文件全部进行格式化转换并生成目标的文档
- report:指定对上述的fileset的文件进行格式转换并生成html文件
<target name="default" depends="compile-test"> <junit printsummary="true" haltonerror="true"> <classpath refid="run-test"></classpath> <!-- 测试单个类 --> <!--<formatter type="brief" usefile="false"/>--> <!--<test name="${run.single.class}"></test>--> <!-- 批量测试 --> <formatter type="xml"/> <batchtest todir="${build.test.report}"> <fileset dir="${build.test.classes}" includes="${run.classes}"></fileset> </batchtest> </junit> <junitreport todir="${build.test.report}"> <fileset dir="${build.test.classes}" includes="Test-*.xml"></fileset> <report format="frames" todir="${build.test.report}/html"></report> </junitreport></target>
3.Ant补充
记录构建次数以及生成build.properties
<target name="metadata"> <mkdir dir="${metadata.dir}"/> <!--声明构建次数引用--> <buildnumber/> <!--生成properties文件--> <propertyfile file="${metadata.dir}/build2.properties"> <entry key="buildTime" type="date" pattern="yyyy-MM-dd HH:mm:ss:SS" value="now"/> <entry key="buildNumber" type="int" value="${build.number}"/> </propertyfile></target>
记录时间
<target name="metadata"> <tstamp> <!-- property 声明当前时间--> <format property="now" pattern="yyyy-MM-dd HH:mm:ss:SS"></format> </tstamp></target>
定义引用,去重复代码
<presetdef name="upload"> <ftp userid="${ftp.username}" password="${ftp.password}" server="${ftp.server}" remotedir="${ftp.dir}"></ftp></presetdef><target name="ftp" depends="zip"> <!-- 相当于引用上面定义好的标签语句--> <upload action="mkdir"/> <upload action="put"> <fileset dir="${build.zip.dir}" includes="${project.zip.name}"></fileset> </upload></target><upload action="mkdir"/> ## 等价于下面<presetdef name="upload"> <ftp userid="${ftp.username}" password="${ftp.password}" server="${ftp.server}" remotedir="${ftp.dir}"></ftp></presetdef>
阅读全文
0 0
- Ant构建Java项目总结(2)
- Ant构建Java项目总结(1)
- Ant构建Java项目
- Ant—使用Ant构建简单Java项目(一)
- Ant—使用Ant构建简单Java项目(二)
- Ant—使用Ant构建简单Java项目(三)
- 用Ant构建Java项目
- 使用Ant构建java项目
- Ant构建Java项目之第2篇
- java ant 配置及构建项目
- 图解使用Ant构建一个Java项目
- 使用Ant构建简单的java项目
- Ant构建项目(一)初识
- Ant构建GWT 项目
- eclipse ant 构建项目
- 用ant构建项目
- ant构建打包项目
- ant项目构建
- SQL Server附加数据库报错无法打开物理文件,操作系统错误5的图文解决教程
- 前端跨域问题
- Python 3爬虫网易云(六)—— 第三方库安装
- Manthan, Codefest 17 E. Salazar Slytherin's Locket(数位DP)
- 钱币组合问题(一):(每种硬币不限次数)
- Ant构建Java项目总结(2)
- 51Nod-1249-近似有序区间
- 数据结构 —— 红黑树(C语言源码)
- Effective C++ — 继承与面向对象设计
- Java 源码分析(四)
- 数据结构单链表基本实现
- vue里面的scroll事件,以及如何处理事件问题,附带动画效果如何实现
- 【正一专栏】火箭人对怂疯老头——朝鲜史上最高级别的应对措施是啥?
- Session整理