ant学习笔记(五)基于单元测试的j2se项目,包括编译、测试、打包、生成报告、上传ftp...

这里只是描写ant的build.xml文件,其他的数据库连接文件,请自行编写


<?xml version="1.0" encoding="UTF-8"?>
<project default="ftp">
	<property name="src.dir" location="src"></property>
	<property name="test.src.dir" location="test"></property>
	<property name="lib.dir" location="lib"></property>
	<property file="build.properties"></property>
	
	<property name="build.dir" location="build"></property>
	<property name="build.classes" location="${build.dir}/classes"></property>
	<property name="build.test.dir" location="${build.dir}/test"></property>
	<property name="build.test.classes" location="${build.test.dir}/classes"></property>
	<property name="build.test.report" location="${build.test.dir}/report"></property>
	<property name="build.jar.dir" location="${build.dir}/dist"></property>
	<property name="build.zip.dir" location="${build.dir}/zip"></property>
	<property name="build.doc.dir" location="${build.dir}/doc"></property>
	<property name="build.src" location="${build.dir}/src"></property>
	<property name="metadata.dir" location="metadata"/>
	
	<path id="compile-classpath">
		<fileset dir="${lib.dir}" includes="*.jar"></fileset>
	</path>
	
	<path id="compile-test-classpath">
		<path refid="compile-classpath"></path>
		<pathelement location="${build.classes}"/>
	</path>
	
	<path id="run-test-classpath">
		<path refid="compile-test-classpath"/>
		<pathelement location="${build.test.classes}"/>
	</path>
	
	<target name="clean">
		<delete dir="${build.dir}"/>
	</target>
	
	<target name="init" depends="clean,metadata">
		<mkdir dir="${build.dir}"/>
		<mkdir dir="${build.classes}"/>
		<mkdir dir="${build.test.dir}"/>
		<mkdir dir="${build.test.classes}"/>
		<mkdir dir="${build.test.report}"/>
		<mkdir dir="${build.jar.dir}"/>
		<mkdir dir="${build.zip.dir}"/>
		<mkdir dir="${build.doc.dir}"/>
		<mkdir dir="${build.src}"/>
		<mkdir dir="${metadata.dir}"/>
	</target>
	
	<target name="compile" depends="init">
		<javac destdir="${build.classes}" srcdir="${src.dir}" 
			classpathref="compile-classpath" 
			   includeantruntime="true" failonerror="true"></javac>
		<copy todir="${build.classes}">
			<fileset dir="${src.dir}" includes="**/*.*" excludes="**/*.java"></fileset>
		</copy>
	</target>
	
	<target name="compile-test" depends="compile">
		<javac destdir="${build.test.classes}" srcdir="${test.src.dir}"
			   includeantruntime="true" failonerror="true" 
			   classpathref="compile-test-classpath"></javac>
	</target>
	
	<target name="run-test" depends="compile-test">
		<junit fork="true" haltonfailure="false" failureproperty="junit.fail">
			<classpath refid="run-test-classpath"></classpath>
			<formatter type="brief" usefile="false"/>
			<formatter type="xml"/>
			<batchtest todir="${build.test.report}">
				<fileset dir="${build.test.classes}" includes="${run.test.class}"></fileset>
			</batchtest>
		</junit>
		<junitreport todir="${build.test.report}">
			<fileset dir="${build.test.report}" includes="TEST*.xml"></fileset>
			<report format="frames" todir="${build.test.report}/html"/>
		</junitreport>
		<fail if="${junit.fail}" message="单元测试失败,具体情况请查询${build.test.report}"/>
	</target>
	
	<target name="doc" depends="run-test">
		<javadoc sourcepath="${src.dir}" use="true" packagenames="cn.*" 
			   charset="UTF-8" encoding="UTF-8" docencoding="UTF-8"
			   destdir="${build.doc.dir}">
			<classpath refid="compile-classpath"></classpath>
		</javadoc>
	</target>
	
	<target name="jar" depends="doc">
		<tstamp>
			<format property="now" pattern="yyyy-MM-dd HH:mm:ss"/>
		</tstamp>
		<jar destfile="${build.jar.dir}/${project.jar.name}" 
				basedir="${build.classes}" duplicate="preserve">
			<manifest>
				<attribute name="Build-By" value="${user.name}"/>
				<attribute name="Build-time" value="${now}"/>
			</manifest>
		</jar>		
	</target>
	
	<target name="copy-src" depends="jar">
		<copy todir="${build.src}">
			<fileset dir="${src.dir}" includes="**/*.*"></fileset>
		</copy>
	</target>
	
	
	<target name="metadata">
		<mkdir dir="${metadata.dir}"/>
		<buildnumber/>
		<propertyfile file="${metadata.dir}/build.propterties">
			<entry key="Build-time" type="date" value="now" pattern="yyyy-MM-dd HH:mm:ss"/>
			<entry key="build-number" type="int" value="${build.number}"/>
		</propertyfile>
	</target>
	
	<target name="zip" depends="copy-src">
		<zip destfile="${build.zip.dir}/${project.zip.name}" duplicate="preserve">
			<zipfileset file="${build.jar.dir}/${project.jar.name}" prefix="${project.prefix}"/>
			<zipfileset dir="${build.src}" includes="**/*.*" prefix="${project.prefix}/src"></zipfileset>
			<zipfileset dir="${build.doc.dir}" includes="**/*.*" prefix="${project.prefix}/doc/api"></zipfileset>
			<zipfileset dir="${build.test.dir}" includes="**/*.*" 
					excludes="report/*.*" prefix="${project.prefix}/test"></zipfileset>
			<zipfileset dir="." includes="build.xml,build.properties" prefix="${project.prefix}"></zipfileset>
		</zip>
	</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的函数使用-->
		<upload action="mkdir"/>
		<upload action="put">
			<fileset dir="${build.zip.dir}" includes="${project.zip.name}"></fileset>
			</upload>
	</target>
	
</project>

build.properties

ftp.username = ant
ftp.password = ant
ftp.server = localhost
ftp.dir = user_manager
project.version = SNAPSHOT-0.1
project.prefix = usermanager-${project.version}
project.jar.name = ${project.prefix}.jar
project.zip.name = ${project.prefix}.zip
run.test.class = **/Test*.class


揭秘cocos-mcp:如何用AI助手提升CocosCreator游戏开发效率 本文深入介绍了cocos-mcp工具,它作为连接AI助手与CocosCreator编辑器的桥梁,遵循MCP协议,能显著提升游戏开发效率。通过自然语言指令,开发者可让AI直接查询场景结构、批量修改属性或生成上下文代码,将重复操作变为智能调度,实现从“手动操作者”到“指令指挥官”的工作流变革。 阅读详情

相关推荐

【在英伟达nvidia的jetson-orin-nx上使用调试can基础收发-硬件连接-开机自启动can-初步调试】

近期开始学习英伟达的工控板,作为新手还是有很多不同懂得地方,但是一部分它用的linux系统,有点像玩树莓派,通过自己一段时间学习can调试,终于可以简单通信了。开始的时候,自己也是什么都不是很懂,从新手一点点摸索过来,现在使用工控机,简单can通信也已经没有问题了,算是有些进步吧。每一步走的都很艰辛,需要反复验证,才能准去无误,开始以为发送没有问题就没事了,没想到发送可以却接受不行,每一步都要反复确认啊,这个问题会持续关注下吧。

qq_22146161的博客 6120

ant--Java工程打包工具

真是,博客停更了两个月,罪过罪过 写这篇博客是简介一下ant。这是一个Java的打包工具。很像是C的Makefile工具。不过是基于xml格式的,所以在语法上可能会更随意一点,不会像是Makefile一样困扰于严格缩进的问题。 ant学习起来其实很简单,一篇博客的内容就可以了。因为知识点就那么多。不过也像是Makefile,打包一个大工程也是很不好写的,都是要处理好依赖关系。废话少说,下面进入

RichyTang的专栏 3003

Grok-1.5+Ollama企业级本地化部署与合规实践指南

本文详细介绍了Grok-1.5+Ollama企业级本地化部署与合规实践指南,重点分析了本地化部署的成本优势和数据主权保障。通过RTX 4090显卡的硬件选型、Ubuntu 22.04系统优化及部署流程中的关键陷阱规避,为企业提供了高效、安全的AI模型部署方案。特别适合金融、医疗等敏感行业。

weixin_29094539的博客 181

ANT task之Junit、JunitReport

一、ANT任务之Junit:   学习ANT其实主要是学习ANT的task,ANT众多task中有一个Testing Tasks,它下面有两个任务:Junit和JunitReport,主要用来进行单元测试及生成单元测试报告。 Testing Tasks   Task NameDescription Junit Runs tests from the Jun...

weixin_33716941的博客 327

攻克+86手机号Discord验证墙:从“无效”到“成功”的实战指南

本文提供了一份针对+86手机号在Discord注册时频繁遭遇“手机号无效”问题的实战解决指南。文章系统分析了问题根源,并分步详解了从打造纯净网络环境、尝试多种手机号格式(如+86前加0),到更换iOS等客户端设备的有效方法,旨在帮助用户成功完成Discord手机号验证。

mac99的博客 1108

ShardingSphere-jdbc 5.5.0 + spring boot 基础配置 - 实战篇

shardingsphere 5.5.0移除了sm4算法,自己加上即可。增加spi扩展org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm增加以下代码:SM4算法代码/***/static {@Getter@Overrideif (!

qq_21903999的博客 4742

一个完整的ant-j2se例子

[code="java"] Compiles and runs a simple program ...

navy0168的专栏 187

CondaHTTPError: HTTP 404 NOT FOUND for url

用conda创建新环境时出现问题了。

qq_40713201的博客 1269

java中ant_Ant在Java项目中的使用(一眼就看会)

参考:http://www.cnblogs.com/zhengqiang/p/5557155.htmlAnt是跨平台的构建工具,它可以实现项目的自动构建和部署等功能。在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。一、安装与部署1.1下载下载地址:https://archive.apache.org/dist/ant/binaries/我下载的是1.7.1版本。解...

weixin_29181861的博客 465

【AHE数据集】中国2019年多源热排放数据集-500m空间分辨率

【AHE数据集】中国2019年多源热排放数据集

WW、forever的博客 411

GPU服务器维修全流程:从检测到解锁

《GPU服务器维修维保全流程指南》摘要:本文系统介绍GPU服务器从检测到解锁的完整维修流程。检测环节包含物理检查(氧化层、散热、PCB板)和电子诊断(ECC报错率、电源波动等);核心维修技术涵盖PCB板修复(微孔镀铜、BGA返修)和芯片级维修(成功率78-92%);解锁验证阶段包括性能解锁(VBIOS重写)和72小时稳定性测试。文末提供故障速查表及维保建议,强调定期除尘可降低38%故障率,推荐环境粉尘浓度控制在≤0.3mg/m³。

2401_89353317的博客 889

通过ant编译打包java 工程

    1 引言 1.1 背景介绍 1.1.1 什么是Ant Ant 是一个基于 Java 的构建工具。可以构建、测试与部署Java项目,项目的规模可以从很小到很大。 1.1.2 为什么要用Ant 1.跨平台--因为ant是使用java实现的; 2.使用简单--与ant的兄弟make比起来; 3.语法清晰--同样是和make相比; 4.功能强大--ant能做的事情很多,可能你用...

a1510841693的博客 1002

CKS-CN考试之路----03

这题不需要去生成image和生成deployment所以只需要去检测对应的值即可。编辑/cks/docker/Dockerfile,修改最后第二行的值。编辑/cks/docker/deployment.yaml。

Q先生 824

ant学习笔记(五)基于单元测试的j2se项目,包括编译、测试、打包、生成报告、上传ftp

这里只是描写ant的build.xml文件,其他的数据库连接文件,请自行编写 <javac destdir="${build.classes}" srcdir

devilzy2656的专栏 546

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

从瀑布到流水线:DevOps 入门与 GitLab + Jenkins + Docker 落地实践

先看清软件开发生命周期(SDLC)的全貌,再对比瀑布模型与敏捷开发,随后进入持续集成与 CI/CD 的机制内核;最后落到实操——在 GitLab、Jenkins、Docker 组成的四机实验环境里,走完源码托管、自动化构建、镜像封装与远程部署,直到参数化构建与版本回滚。概念与命令并重,既是入门地图,也是操作手册。

年轻的时候很穷,经过我多年的努力,终于不再年轻。 242

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

训练数据示例

针对“规格书生成测试用例脚本”的任务,在 LLaMA-Factory 中使用即可。关键是把“规格书内容”放进input字段,把“期望的脚本输出”放进output字段。

liuxs2009的专栏 57

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

要努力去发光,而不是被照亮~ 118

【LTE L3 笔记 09】LTE物理信道-PRACH

课程来源:B站《【2022】华为HCIA-LTE无线工程师认证学习中级视频》笔记为个人整理,含课件截图,仅供学习交流。

lyouhuan的博客 188

DNS 不是把域名翻译成 IP:递归解析、TTL 缓存、CNAME 与报文排错实战

本文通过离线Python实验,拆解DNS递归解析、缓存机制与报文结构,揭示“DNS不是全局映射表”的本质。重点解析递归器角色、TTL衰减、CNAME链处理、负缓存隔离及修改记录延迟生效等核心问题,结合实战排错案例,阐明缓存层级、事务匹配、截断处理与安全边界,强调从应用到权威的逐层排查逻辑,实现可复现、可验证的DNS教学系统。

此人很懒,什么都没有写~~ 348

密码存储不是 MD5 加盐:PBKDF2、scrypt、参数升级与安全验证实战

本文通过实战演示密码存储的正确做法:摒弃MD5加盐,采用PBKDF2与scrypt等高成本密钥派生函数,结合随机盐、版本化记录与严格解析,确保离线破解成本可控。模块实现安全验证、参数校验、透明升级与统一错误处理,强调算法选择需兼顾安全性与可维护性,提供教学级密码存储方案,助力构建可迁移、可审计的认证边界。

此人很懒,什么都没有写~~ 225

软件测试用例模板怎么写:从用例设计到执行记录的全套指南

测试用例是测试工作的核心产出,它决定测试覆盖了多少、漏掉了什么。但大多数人的测试用例写得像流水账——只有正常路径,没有异常场景;只有操作步骤,没有预期结果;只有功能测试,没有非功能测试。本文拆解测试用例的标准结构,说明每个字段的含义和写法,给出覆盖功能测试、性能测试、安全测试的完整用例范例,并列出测试用例设计的五个高频遗漏点。

wuwangzhiduoshao的博客 149

MCP实战06:传输实战、测试与部署

你的 MCP Server 写完了,怎么确认它真的能被宿主正确调用?这课给传输层实战三件套:MCP Inspector 可视化调试、协议级自动化测试(pytest 断言 JSON-RPC 报文结构)、stdio/HTTP 双传输部署。测试不是可选项——工具描述错一个字段宿主就调不对,你能给 Server 建起自己的回归测试。

Blockbuster-drug 719

【LTE L3 笔记 05】LTE同步信号

课程来源:B站《【2022】华为HCIA-LTE无线工程师认证学习中级视频》笔记为个人整理,含课件截图,仅供学习交流。

lyouhuan的博客 114

电芯串并联与BMS保护

串联升压、并联扩容,规则一句话,但整包能用多少由最弱的那节电芯说了算。这篇先算最弱电芯的账,再讲清三层保护,最后给对应的BMS测试用例:欠压、压差、均衡怎么测。BMS项目里有个常见场面:两台同配置的样车,电芯是同一批的,跑出来续航和限功率点却对不上。拆包量单体,一台里有一节电芯的容量比其他低了8%。整包表现被一节拖住,就是串并联的规矩在起作用。这篇先把规则和算例讲清,再讲保护分层,最后落到测试用例。

qq_43241255的博客 231

《C++ 项目:手写大模型接入 SDK》ChatGPT接口设计(中):全量响应实现和测试

本文详细实现了ChatGPTProvider对接OpenAI ResponsesAPI的全量响应sendMessage接口,涵盖模型可用性校验、请求参数解析、JSON报文组装、HTTP客户端配置(含代理与超时)、网络请求发送及响应解析全流程。通过GTest编写测试用例,发现并修复了因Content-Type重复设置导致的400错误,揭示了不同厂商网关对请求头规范的宽容度差异,最终提出一套兼容多模型服务商的标准写法,提升了代码通用性与鲁棒性。

2501_91275995的博客 569

AI提效测试实践论

11、测试结束后,必须将任务过程中所有走了弯路,多次尝试的才成功操作的最终解决办法,按1、2、3...列点追加写入到当前文件的“特别注意要点”下(必须只记一行摘要,完整内容另存 [当前AGENTS.md文件所在的目录]\details\[序号].md)(如果新纪录的要点和历史要点存在冲突,必须直接对历史要点进行修正。`测试用例` 章节下必须按用例分层组织为 `冒烟集`、`主流程集`、`边界集`、`回归集` 四个子集,并在 `用例结果汇总` 中统计各分层集的用例数量。3、是否存在BUG;没有则写“无”> |

weixin_44711513的博客 122
上一篇: Oracle Error code
下一篇: ant学习笔记(六)ant编译web项目,并打成war包,同时加入数据库操作
piperzero
博客等级 码龄21年 1377粉丝 504原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值