4. ant示例
4.1 新建目录编译文件
<?xml version="1.0" encoding="utf-8"?>
<project name="myAntProject" basedir="." default="package">
<property name="compile" value="compile"></property>
<target name="init"></target>
<target name="preprocess" depends="init">
<mkdir dir="${compile}"/>
</target>
<target name="complie" depends="init,preprocess"></target>
<target name="package" depends="complie"></target>
<target name="myCompile" depends="preprocess">
<javac srcdir="src" destdir="${compile}"></javac>
</target>
</project>
4.2 打包文件
<?xml version="1.0" encoding="utf-8"?>
<project name="myAntProject" basedir="." default="package">
<property name="compile" value="compile"></property>
<property name="dist" value="dist"></property>
<target name="init"></target>
<target name="preprocess" depends="init">
<mkdir dir="${compile}"/>
<mkdir dir="${dist}"/>
</target>
<target name="complie" depends="init,preprocess"></target>
<target name="package" depends="complie"></target>
<target name="myCompile" depends="preprocess">
<javac srcdir="src" destdir="${compile}"></javac>
</target>
<target name="dist" depends="myCompile">
<jar destfile="${dist}/package.jar" basedir="${compile}"></jar>
</target>
</project>
jar包中会附带生成jar文件的ant的信息META-INF/MANIFEST.MF
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.6
Created-By: 1.8.0_101-b13 (Oracle Corporation)
4.3 生成图形界面的jar文件
<?xml version="1.0" encoding="utf-8"?>
<project name="myAntProject" basedir="." default="package">
<property name="compile" value="compile"></property>
<property name="dist" value="dist"></property>
<target name="init"></target>
<target name="preprocess" depends="init">
<mkdir dir="${compile}"/>
<mkdir dir="${dist}"/>
</target>
<target name="complie" depends="init,preprocess"></target>
<target name="package" depends="complie"></target>
<target name="myCompile" depends="preprocess">
<javac srcdir="src" destdir="${compile}"></javac>
</target>
<target name="dist" depends="myCompile">
<jar destfile="${dist}/package.jar" basedir="${compile}">
<manifest>
<attribute name="Built-by" value="${user.name}"/>
<attribute name="Main-Class" value="com.test.Test01"/>
</manifest>
</jar>
</target>
</project>
通过mainfest定义构建内容
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.6
Created-By: 1.8.0_101-b13 (Oracle Corporation)
Built-by: chenchen
Main-Class: com.test.Test01
4.4 编译定义时间戳
<target name="dist" depends="myCompile">
<tstamp></tstamp>
<jar destfile="${dist}/package-${DSTAMP}.jar" basedir="${compile}">
<manifest>
<attribute name="Built-by" value="${user.name}"/>
<attribute name="Main-Class" value="com.test.Test01"/>
</manifest>
</jar>
</target>
4.5 删除文件
<target name="deleteFile">
<delete file="${dist}/package-20181201.jar"></delete>
</target>
4.6 拷贝文件
<target name="copyFile">
<copy file="src/com/test/Test01.java" tofile="C:/Users/chenchen/Desktop/Test.java"></copy>
</target>
4.7 移动文件
<target name="moveFile">
<move file="C:/Users/chenchen/Desktop/Test.java" todir="d:/"></move>
</target>
4.8 压缩文件
<target name="compress" depends="myCompile">
<zip destfile="${dist}/package.zip" basedir="${compile}"></zip>
</target>
4.9 解压缩文件
<target name="uncompress" depends="compress">
<unzip dest="${dist}" src="${dist}/package.zip"></unzip>
</target>
4.10 ant集成cvs
<property name="cvsRoot" value=":pserver:username:password@localhost:c:\cvs"></property>
<property name="destLocation" value="C:/Users/chenchen/Desktop/"></property>
<target name="preprocess" depends="init">
<mkdir dir="${destLocation}"/>
</target>
<target name="cvs" depends="preprocess">
<cvs cvsroot="${cvsRoot}" package="project01" command="checkout" dest="${destLocation}"></cvs>
</target>
4.11 替换内容
summary="on"属性显示替换信息
<target name="replaceOperation">
<replace file="input.txt" token="how" value="what" summary="on"></replace>
</target>
4.12 拷贝文件
<include name="*.java"/>单层目录文件
<include name="**/*.java"/>所有目录文件
<property name="src" value="src"></property>
<target name="copy2">
<copy todir="${dist}">
<fileset dir="${src}">
<include name="**/*.java"/>
</fileset>
</copy>
</target>
5. 自定义ant
1. 导入ant.jar
2. 编写自定义文件,实现Task接口
package com.tool;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.ListIterator;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
public class FileSorter extends Task {
private File srcFile;
private File destFile;
public File getSrcFile() {
return srcFile;
}
public void setSrcFile(File srcFile) {
this.srcFile = srcFile;
}
public File getDestFile() {
return destFile;
}
public void setDestFile(File destFile) {
this.destFile = destFile;
}
@Override
public void execute() throws BuildException {
try {
BufferedReader fromFile = new BufferedReader(new FileReader(srcFile));
BufferedWriter toFile = new BufferedWriter(new FileWriter(destFile));
List<String> list = new ArrayList<>();
String line = fromFile.readLine();
while (line != null) {
list.add(line);
line = fromFile.readLine();
}
Collections.sort(list);
for (ListIterator<String> li = list.listIterator(); li.hasNext();) {
String str = li.next();
toFile.write(str);
toFile.newLine();
}
fromFile.close();
toFile.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
3. input.txt文件
hello world
what are you
what old are you
what do you do
abc
test
4. build.xml文件
<taskdef name="myFileSorterExample" classname="com.tool.FileSorter" classpath="bin">
</taskdef>
<target name="myFileSorter">
<myFileSorterExample srcFile="input.txt" destFile="output.txt"></myFileSorterExample>
</target>
5. 运行结果output.txt
abc
hello world
test
what are you
what do you do
what old are you
分享到:
相关推荐
总之,"Ant包+示例"提供了一个全面学习和实践Ant的好机会,无论你是Java开发者还是系统管理员,都能从中受益,提升项目管理的效率和质量。通过深入研究和实践压缩包中的内容,你可以熟练掌握Ant的使用,为你的Java...
本示例代码是关于如何使用Ant进行项目部署的一个实例,主要关注点在于如何配置`build.xml`文件以及如何处理一个小型Java项目。 首先,`build.xml`是Ant的构建文件,它定义了构建过程中的各种任务和目标。这个文件...
标题中的“ant构件示例说明”表明我们即将探讨的是关于Apache Ant工具的使用,它是一个Java平台上的构建工具,常用于编译、打包和测试Java项目。Ant是基于XML的,它的配置文件(通常命名为build.xml)定义了构建过程...
Ant是Apache软件基金会下的一个Java项目,它是一个构建工具,主要用来自动化Java应用程序的构建过程。这个压缩包“ant”可能...通过学习和实践其中的示例,你将能够熟练地运用Ant来构建和管理Java项目,提高开发效率。
对于初学者来说,这个示例项目是一个很好的起点,可以让他们了解如何在实际开发中使用Struts和Ant。通过学习这个示例,你可以了解到如何配置Struts的ActionMapping,如何创建和使用ActionForm,以及如何在JSP中使用...
在“ant-demo”这个压缩包中,很可能是包含了一个实际的Ant项目示例,里面可能有`build.xml`文件以及源代码、资源文件等。学习这个示例可以帮助你更好地理解和应用Ant,理解如何配置和执行Ant构建脚本,从而提升你的...
对于压缩包中的"Ant_TestNG_Test"文件,这可能包含了一个示例Ant项目,其中包括了build.xml配置文件,以及使用TestNG编写的测试类。这些文件可以帮助你理解如何在实际项目中配置和运行Ant与TestNG的集成。 总结来说...
【Ant学习示例】 Ant是Apache软件基金会Jakarta项目下的一个构建工具,它以其XML格式的构建文件(build.xml)而闻名,用于自动化Java项目的构建、编译、测试和部署等任务。Ant的设计理念是简单易用,同时具有高度可...
总的来说,"Junit+ant+cobertura示例"是一个展示如何使用JUnit进行单元测试,通过Ant进行自动化构建,并利用Cobertura进行代码覆盖率分析的实践案例。这样的组合可以帮助开发者更高效地管理和提升代码质量,确保软件...
在Java开发过程中,测试是确保代码质量和可靠性的重要环节。...这个"ant_junit_emma"示例工程就是一个很好的学习资源,可以帮助开发者理解如何将这三个工具集成到实际项目中,提升测试质量和效率。
本示例将详细介绍如何在Android项目中利用Ant进行自动构建。 首先,我们需要理解Ant的基本概念。Ant是一个基于Java的任务驱动的构建系统,它的核心是build.xml文件,这个文件包含了构建项目的各种任务和规则。在...
### ANT项目构建知识点详解 #### 一、Ant简介与安装配置 **Ant** 是一个开源的、跨平台的构建工具,由Apache基金会维护。它的主要功能在于自动化项目的构建过程,包括编译、测试、打包、部署等多个环节。通过使用...
在实际项目中,例如`vueComponent-ant-design-vue-e94a0f0`这个文件夹中的示例,我们可以看到如何将AntDesignVue组件整合到Vue项目中,创建一个完整的页面。这通常包括导入所需组件、定义组件结构、绑定数据和事件...
Hello-Ant项目是一个专门用于学习Ant工具及其构建文件(build file)的示例项目。本项目主要目的是帮助开发者熟悉如何使用Ant来自动化Java项目的构建过程。通过学习Jakarta-Ant 1.6alpha版本的`build.xml`文件,用户...
- 这个文件或文件夹可能包含了Ant 1.6.5的具体实现,包括核心库、文档、示例或其他辅助文件。 总结起来,Apache Ant 1.6.5是一个为Java项目提供构建功能的工具,尤其适用于Windows平台。通过解压缩此ZIP文件并配置...
示例项目使您的android应用程序架构更快、更流畅,我可以长期维护,同时更新博客。
在压缩包中的文件名列表"ant打war包"可能是整个构建过程的示例项目,包含了一个使用Ant构建WAR包的实际项目结构,用户可以参考这个示例来理解和学习如何在自己的项目中应用Ant和SVN。 总之,"ant打war包"涉及了Ant...
9. **最佳实践**:通过示例,你可以学习到Ant Design在实际项目中的最佳实践,如何避免常见问题,以及如何与其他库或服务集成。 压缩包内的两个文件"ant-design-demo1.rar"和"ant-design-demo2.rar"可能是不同版本...