当前位置:首页 » 网页前端 » ant脚本
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

ant脚本

发布时间: 2022-01-23 21:04:52

‘壹’ JAVA中ant脚本是什么东西

内容摘要:
ANT是一个基于Java的自动化脚本引擎,脚本格式为XML。除了做Java编译相关任务外,ANT还可以通过插件实现很多应用的调用。
1)ANT的基本概念:
2)ANT的安装:解包,设置路径
3)ANT的使用:最好的学习只不过是一个简单实用的例子起步……

ANT的基本概念:Java的Makefile

当一个代码项目大了以后,每次重新编译,打包,测试等都会变得非常复杂而且重复,因此c语言中有make脚本来帮助这些工作的批量完成。在Java中应用是平台无关性的,当然不会用平台相关的make脚本来完成这些批处理任务了,ANT本身就是这样一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。除了基于JAVA是平台无关的外,脚本的格式是基于XML的,比make脚本来说还要好维护一些。

每个ant脚本(缺省叫build.xml)中设置了一系列任务(target):比如对于一个一般的项目可能需要有以下任务。

任务1:usage 打印本脚本的帮助信息(缺省)
任务2:clean <-- init 清空初始化环境
任务3:javadoc <-- build <-- init 生成JAVADOC
任务4:jar <-- build <-- init 生成JAR
任务5:all <-- jar + javadoc <-- build <-- init 完成以上所有任务:jar javadoc

而多个任务之间往往又包含了一定了依赖关系:比如把整个应用打包任务(jar)的这个依赖于编译任务(build),而编译任务又依赖于整个环境初始化任务(init)等。

注:我看到很多项目的ant脚本中的命名基本上都是一致的,比如:编译一般叫build或者compile;打包一般叫jar或war;生成文档一般命名为javadoc或javadocs;执行全部任务all。在每个任务的中,ANT会根据配置调用一些外部应用并配以相应参数执行。虽然ANT可调用的外部应用种类非常丰富,但其实最常用的就2,3个:比如javac javadoc jar等。

ANT的安装

解包后在系统可执行路径中加入指向ant的bin的路径就可以了,比如可以在GNU/Linux上把以下配置加入/etc/profile中:
export ANT_HOME=/home/ant
export JAVA_HOME=/usr/java/j2sdk1.4.1
export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin

这样执行ant 后,如果不指定配置文件ant会缺省找build.xml这个配置文件,并根据配置文件执行任务,缺省的任务设置可以指向最常用的任务,比如:build,或指向打印帮助信息:usage,告诉用户有那些脚本选项可以使用。

ANT的使用

最好的学习过程就是看懂那些open source项目中的build.xml脚本,然后根据自己的需要简化成一个更简单的,ANT和APACHE上很多非常工程派的项目:简单易用,而且适应性非常强,因为这些项目的建立往往来源于开发人员日常最直接的需求。

‘贰’ ant脚本和shell脚本的区别

<project
name="test System"
basedir="."
default="test"
>
<target name="test">
<exec executable="cmd">
<arg value="/c"/>
<arg value="test.bat"/>
<arg value="-p"/>
</exec>
</target>
</project>

‘叁’ 用ant脚本执行sql语句

两步即可:
1.将执行sql语句的命令写在一个 xx.bat文件里面
2.在build.xml脚本里 使用 exec标签来执行bat文件即可
例如:<exec executable=" xx.bat" ></exec>

你们数据库是什么数据库呢?如果是oracle数据库,那么执行sql语句的命令是用 sqlplus user/pwd@db example.sql

关于ant脚本标签,请参考:http://hi..com/woxfy/blog/item/8359887a281899fe0ad1878d.html

‘肆’ 如何在ANT脚本中设置环境变量

Ant与从基于命令的那些扩展开来的那些工具不同,Ant是由java类扩展的。不用编写shell命令,而是配置基于XML的文件,形成多个任务的目标配置树。每一个任务都是通过一个实现了一个规定接口的java类来运行的。
简单的说,
Ant是一个基于Java,并且主要用于Java工程的构建工具。Ant本意是Another Neat Tool,也就是另一种整洁的工具,取首字符就是Ant。

工具/原料

使用Ant前提条件,系统中已经安装JDK;
下载好Ant。
ANT安装

1
下载好Ant。直接解压缩文件,放到指定的系统目录中,例如C:\Ant。我的是解压在了D:\apache-ant-1.9.4-bin。
END
ANT环境变量配置

1
依次进入计算机属性-->高级-->环境变量,如图:

2
在环境变量配置界面下,单击“新建”(上面的环境变量为在当前用户下的环境变量,其他用户登录是则无效,下面的环境变量为系统的环境变量,针对所有用户)
新建以下环境变量:
ANT_HOME:D:\apache-ant-1.9.4-bin\apache-ant-1.9.4 此为你的ANT安装路径;
设置完成后,点击“确认”来保存。

3
在环境变量PATH的最后面添加一下内容:
;%ANT_HOME%\bin 注意前面的分号,如果PATH中最后没有分号“;”的话要加上,有的话就可去除。

END
测试ANT配置

进入cmd命令窗口,在CMD窗口中输入ant -version,敲击回城键,会显示出你安装的ANT版本,如果成功显示,说明你的配置应该是成功了,

END
注意事项

我们推荐您不设置CLASSPATH来运行Ant命令,如果任何版本的Ant可以从CLASSPATH加载,这时就会由于加载了不兼容的类而产生许多错误。

‘伍’ ant脚本中的 **/*代表什么只用**代表全部不足够吗

递归指定文件夹下所有的java文件..

‘陆’ 如何获得可执行的ant构建脚本

1.右击我的电脑--》属性--》高级--》环境变量--》Administator的用户变量--》新建(变量名为ANT_HOME,变量值为E:/JAVA/ant/apache-ant-1.6.5,即ANT的安装根目录,而不是到bin)

2.在系统变量的Path中添加一行%ANT_HOME%/bin《==》E:/JAVA/ant/apache-ant-1.6.5/bin

3.在运行中输入cmd,然后进入cmd命令行,输入ant,如果出现以下语句就说明ANT安装成功
Buildfile: build.xml does not exist!
Build failed

‘柒’ 如何用ant执行jmeter脚本

1、下载ant
2、配置环境变量
以windows下配置为例
①配置ant环境变量
ANT_HOME=D:Program Filesapache-ant-1.10.0
CLASSPATH=%ANT_HOME%lib
Path=%ANT_HOME%in
②检查ant是否配置成功:命令行输入ant -version
3、将JMeter的extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的lib目录中
4、修改JMeter的bin目录下jmeter.properties文件的配置:jmeter.save.saveservice.output_format=xml
5、新建一个脚本存放目录,以及报告存放目录report,将*.jmx(已经调试OK的脚本)拷贝此目录
6、在创建的目录下新建一个build.xml文件(ant自动构建文件)


7、cmd进入脚本上面创建的目录。(即build.xml所在的目录)
8、输入:ant  或 ant run(run为build.xml中的task名),即可执行脚本并生成报告

‘捌’ ANT脚本问题

首先去apache网站上下载ant的压缩包,在本地解压
现在最新的是apache-ant-1.7.1

假如说你解压在了D盘,
目录是这样的
D:\apache-ant-1.7.1\bin
D:\apache-ant-1.7.1\docs
....................等,
那么你将D:\apache-ant-1.7.1\bin添加到你电脑的path环境变量中.

这样你在CMD下就可以使用ant命令了

下面我给你做了一个测试类,和一个测试build.xml
类:
package org.apache.ant.demo;

public class Test {

private String name = "";
private String passwd = "";

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getPasswd() {
return passwd;
}

public void setPasswd(String passwd) {
this.passwd = passwd;
}
}

build.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--首先是工程结点,定义工程名-->
<project name="javahelloant" default="jar" basedir=".">
<!--定义工程要用到的属性名及匹配的值 org是我的源代码放置的目录,你看一下我的类应该能明白了,-->
<property name="src.dir" value="org"/>

<property name="classes.dir" value="classes"/>

<property name="javadoc.dir" value="docs"/>

<property name="jar.name" value="javahelloant.jar"/>
<!--定义任务名,depends是执行这个任务之前先执行哪个任务-->
<target name="jar" depends="compile">
<jar jarfile="${jar.name}" basedir="${classes.dir}"></jar>
</target>

<target name="compile">
<mkdir dir="${classes.dir}" />
<javac srcdir="${src.dir}" destdir="${classes.dir}"/>
</target>

<target name="javadoc">
<javadoc destdir="${javadoc.dir}">
<fileset dir="${src.dir}"/>
</javadoc>
</target>

<target name="clean">
<delete dir="${classes.dir}" />
<delete dir="${javadoc.dir}" />
<delete file="${jar.name}" />
</target>
</project>

类要建好包体结构,和build.xml放在一个文件夹里
如:
D:\ant\org\apache\ant\demo\Test.java
D:\ant\build.xml

这样,你在开始运行里打CMD,
D:
cd ant
在这个目录下执行ant这个命令

ant
或者带参数

ant jar jar即你的任务名

以下是我的运行结果,请参考

I:\java\samples\ant>ant
Buildfile: build.xml

compile:
[javac] Compiling 1 source file to I:\java\samples\ant\classes

jar:
[jar] Building jar: I:\java\samples\ant\javahelloant.jar

BUILD SUCCESSFUL
Total time: 0 seconds
I:\java\samples\ant>ant jar
Buildfile: build.xml

compile:
[javac] Compiling 1 source file to I:\java\samples\ant\classes

jar:
[jar] Building jar: I:\java\samples\ant\javahelloant.jar

BUILD SUCCESSFUL
Total time: 0 seconds
I:\java\samples\ant>

ANT相当于是一个批处理程序,可以建立很多任务,我看说明文档,它还可以自行发邮件,但我没做过那么复杂的,一般都是用来工程打包,你可以说的详细点,帮你查一下,现在你这么说,我也不是很明白。。。。。。。

‘玖’ 怎样通过ant脚本获取某个路径下面的文件名

<project name="ProjectName" default="deploy" basedir=".">
<target name="deploy">
<fileset dir="${basedir}\strPath">
<include name="aaaa.cpp"/>
</fileset>
</targe>
</project>

basedir=".",表示当前项目的根目录。

‘拾’ 如何编写 ant脚本驱动测试用例

operty name="testReport" value="testReport"></property>
<path id="javac-lib">
<fileset dir="${lib}">
<include name="*.jar" />
</fileset>

<!--缺少以下的设置可能出现ClassNotFoundException错误-->
<pathelement location="${build}"/>
</path>

<target name="compile">
<javac destdir="${build}" debug="true" encoding="UTF-8">
<src path="src" />
<classpath refid="