当前位置:首页 » 编程软件 » ant脚本

ant脚本

发布时间: 2022-02-02 12:24:30

㈠ 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脚本获取某个路径

好久不写ant脚本了,最近两天在用ant做web应用的安装部署脚本,为了实现web服务器的多版本兼容,必然要使用逻辑判断,比如我要判断是安装在weblogic8上还是weblogic9上,而在ant中处理逻辑判断真是麻烦,只能作用于task,要利用property来做判断,使用available来设置property。例如:

上面判断一个文件,如果存在的话 fileIsExists 就为true,echoDemo这个task在执行前会先判断fileIsExists 是否为true如果不为true就不执行了。c盘下面有123.txt的话会打印hello ant 否则不会打印。

这里面还有一个小陷阱,我习惯使用antcall,不喜欢使用depends,但是使用antcall的话就会有问题,例如我最开始这么写的,就不行。

使用antcall的话在echoDemo这个task执行的时候fileIsExists这个属性永远不为true,即便在执行完detect.file后它已经为true了,但是它不会被传递到下一个task,没用深入研究过ant,所以具体内部实现还不了解。

下面是ant的官方参考文档

更复杂的可以参考

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

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

㈣ 如何在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脚本执行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脚本获取某个路径下面的文件名

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

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

㈦ 如何用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脚本编译出Jar和Apk包

首先我们来看看如何使用ant脚本打出一个jar包 我们新建一个工程AntExportJar 在工程的目录下面新建一个build.xml,这个是ant脚本规定的一个入口脚本文件,文件名都是:build.xml [html] view plain ?
<?xml version ="1.0" encoding ="UTF-8" ?>
<project name ="AntExportJar" basedir ="." default ="exportJar" >
????<!--?设置全局变量?-->
????<property name ="src" value ="src" />
????<property name ="dist" value ="dist" />
????<property name ="app.name" value ="ant" />
????<property name ="app.version" value ="1.0" />
????<property name ="classes.encode" value ="GBK" />
????<property name ="lib" value ="libs" />

????<property
????????name ="project-dir"
????????value ="C:\Users\i\workspace\AntExportJar" />
????<property
????????name ="sdk-folder"
????????value ="C:\Users\i\AppData\Local\Android\sdk" />
????<property
????????name ="platform-folder"
????????value ="${sdk-folder}\platforms\android-22" />
????<property
????????name ="android-jar"
????????value ="${platform-folder}\android.jar" />
????<property
????????name ="src"
????????value ="${project-dir}\src" />
????<property
????????name ="bin"
????????value ="${project-dir}\bin" />
????<property
????????name ="libs"
????????value ="${project-dir}\lib" />

????<!--?task?-->
????<target name ="init" >
????????<echo>
????????????Initialize...
????????</echo>
????????<delete dir ="${bin}" />
????????<mkdir dir ="${bin}" />
????</target>

????<target name ="buildFiles" depends ="init" >
????????<javac
????????????????bootclasspath ="${android-jar}"
????????????????compiler ="javac1.7"
????????????????target ="1.7"
????????????????destdir ="${bin}"
????????????????encoding ="GBK"
????????????????includeAntRuntime ="true"
????????????????listfiles ="true" >
????????????????<src path ="${project-dir}" />
????????????????<classpath>
?????????????????????<!--?引用第三方jar包需要引用,用于辅助编译,并没有将jar打包进去。jar的打包在dex命令中。-->
?????????????????????<fileset dir ="${libs}" includes ="*.jar" />
????????????????</classpath>
????????</javac>
????</target>

????<!--?导出jar文件?-->
????<target name ="exportJar" depends ="buildFiles" >
????????<delete dir ="${dist}" />
????????<!--?Create?the?distribution?directory?-->
????????<mkdir dir ="${dist}" />
????????<!--?Put?everything?in?${classes}?into?the?MyProject-${DSTAMP}.jar?file?-->
????????<jar jarfile ="${dist}/${app.name}.jar" basedir ="${bin}" >
????????????<!--
????????????<fileset?dir="${libs}"?includes="**/*.jar"?/>
????????????-->
????????????<zipfileset excludes ="META-INF/*.SF" src ="${libs}/Bai_NativeAd_SDK.jar" />
????????????<zipfileset excludes ="META-INF/*.SF" src ="${libs}/gdt_mob_release.jar" />
????????</jar>
????</target>
</project>
脚本很简单,下面我们就来分析一下: [html] view plain ?
<project name ="AntExportJar" basedir ="." default ="exportJar" >
最外围的一个标签是project,是一个工程标签,有名字,还有就是工程的目录baseDir,用点号:"." 接下来就是定义全局变量,或者是属性值: [html] view plain ?
<!--?设置全局变量?-->
<property name ="src" value ="src" />
<property name ="dist" value ="dist" />
<property name ="app.name" value ="ant" />
<property name ="app.version" value ="1.0" />
<property name ="classes.encode" value ="GBK" />
<property name ="lib" value ="libs" />

<property
????name ="project-dir"
????value ="C:\Users\i\workspace\AntExportJar" />
<property
????name ="sdk-folder"
????value ="C:\Users\i\AppData\Local\Android\sdk" />
<property
????name ="platform-folder"
????value ="${sdk-folder}\platforms\android-22" />
<property
????name ="android-jar"
????value ="${platform-folder}\android.jar" />
<property
????name ="src"
????value ="${project-dir}\src" />
<property
????name ="bin"
????value ="${project-dir}\bin" />
<property
????name ="libs"
????value ="${project-dir}\lib" />
这样我们在后面就可以使用:${name值} 来使用value值的定义了,所以这里就相当于定义了变量的作用,这里我们看到有一些value值是路径,但是这里我们感觉有一个不好的地方,就是这些路径是写死的,那么我们还可以怎么做能让他变得灵活呢?其实很简单,ant脚本中是可以访问环境变量的,那么我们只要将这些路径定义成环境变量就可以了: [html] view plain ?
<property environment ="env" />
<property name ="ANDROID_HOME" value ="${env.ANDROID_HOME}" />
第一行先申明一个环境变量值,这个env是公共的写法,也是ant自带的,他表示当前的环境变量的值,那么后面就可以访问具体的哪些环境变量了,比如这里我配置了ANDROID_HOME这个环境变量,那么就可以用${env.ANDROID_HOME}来访问androidsdk的目录了,和上面的那个直接使用绝对路径的方式是一样的。 解析来就是定义task了,在ant中task也是最重要的,我们最终运行的都是task,就相当于Java中的main方法一样。ant脚本中可以定义多个task,而且每个task可以有执行的先后顺序的。相当于Java中的方法中调用其他方法一样。 [html] view plain ?
<!--?task?-->
<target name ="init" >
????<echo>
????????Initialize...
????</echo>
????<delete dir ="${bin}" />
????<mkdir dir ="${bin}" />
</target>
首先这里定义了一个初始化的task,其中echo标签也是很常用的,就是打印信息的,然后是删除目录${bin},这个bin变量在上面已经定义了,然后在创建${bin}目录。 初始化完之后,开始执行编译工作: [html] view plain ?
<target name ="buildFiles" depends ="init" >
????<javac
????????bootclasspath ="${android-jar}"
????????compiler ="javac1.7"
????????target ="1.7"
????????destdir ="${bin}"
????????encoding ="GBK"
????????includeAntRuntime ="true"
????????listfiles ="true" >
????????<src path ="${project-dir}" />
????????????<classpath>
????????????????<!--?引用第三方jar包需要引用,用于辅助编译,并没有将jar打包进去。jar的打包在dex命令中。-->
????????????????<fileset dir ="${libs}" includes ="*.jar" />
????????????</classpath>
????</javac>
</target>
这里在此定义一个buildFiles的task,depends的值是表示当前的task在这个depends的task执行完之后在执行,这里就是先执行init的task,然后在执行buildFiles的task,这里的task主要是编译Java成class文件: bootclasspath:表示编译依赖的系统库,这里依赖的是android.jar compiler:表示编译的java版本 target:表示编译之后的class的版本,就是能够运行的java版本 destDir:表示编译之后的class文件的存放目录 其他的就不说了,这里还有一个重点,也就是我们在编译的时候会遇到的问题,就是我们在编译的时候,会引用到第三发的jar,所以这里我们为了保证能够编译过,这里还必须用classpath标签来引用这些jar,当然这里只是能够保证编译通过,并不会把这些jar也编译到最终我们想要的jar中,这个问题我们后面再说。 下面在看最后的一个task,就是将编译完之后的class文件打包成jar文件: [html] view plain ?
<!--?导出jar文件?-->
<target name ="exportJar" depends ="buildFiles" >
????<delete dir ="${dist}" />
????<!--?Create?the?distribution?directory?-->
????<mkdir dir ="${dist}" />
????<!--?Put?everything?in?${classes}?into?the?MyProject-${DSTAMP}.jar?file?-->
????<jar jarfile ="${dist}/${app.name}.jar" basedir ="${bin}" >
????????<!--
????????<fileset?dir="${libs}"?includes="**/*.jar"?/>
????????-->
????<zipfileset excludes ="META-INF/*.SF" src ="${libs}/Bai_NativeAd_SDK.jar" />
????<zipfileset excludes ="META-INF/*.SF" src ="${libs}/gdt_mob_release.jar" />
????</jar>
</target>
这里我们定义了一个exportJar的task,他是在buildFiles的task运行完之后在运行。 首先删除目标目录${dist},然后在创建一个目录。这个目录就是存放最后编译好的jar文件的目录 然后就是用jar标签来导出jar文件了: jarfile:表示编译完之后存放的jar文件名路径 basedir:表示需要编译jar的class文件目录 其他就OK了,但是在实际中我们在编译的过程中会引用到第三方的jar,那么这时候我们把这些jar编译到最终的jar中,说道这里,其实我们在使用Eclipse导出jar的时候,有一个插件可以做到这点:fat-jar,安装完插件

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

㈩ 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上很多非常工程派的项目:简单易用,而且适应性非常强,因为这些项目的建立往往来源于开发人员日常最直接的需求。

热点内容
dede换数据库 发布:2025-01-09 18:53:23 浏览:261
sql2000数据库置疑修复 发布:2025-01-09 18:35:54 浏览:409
块设备块缓存 发布:2025-01-09 18:35:46 浏览:484
HED编译 发布:2025-01-09 18:20:26 浏览:407
从安卓转移设备从哪里呢 发布:2025-01-09 18:12:31 浏览:556
为什么半夜服务器会炸 发布:2025-01-09 18:06:32 浏览:320
编译器处理数据类型 发布:2025-01-09 18:06:29 浏览:945
狐狸视频源码 发布:2025-01-09 17:56:27 浏览:443
javaif或条件 发布:2025-01-09 17:51:22 浏览:295
编程二级证 发布:2025-01-09 17:41:48 浏览:534