导航:首页 > 程序命令 > ant脚本命令

ant脚本命令

发布时间:2022-07-20 03:12:29

❶ 如何在Ant里运行Groovy脚本

Call 命令\r\n从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。call 命令接受用作调用目标的标签。如果在脚本或批处理文件外使用 Call,它将不会在命令行起作用。\r\n语法\r\ncall [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]\r\n参数\r\n[Drive:}[Path] FileName \r\n指定要调用的批处理程序的位置和名称。filename 参数必须具有 .bat 或 .cmd 扩展名。\r\n\r\n\r\n如下:\r\n--------\r\ncd c:\aa \r\nant build 保存为1.bat\r\n-------------- \r\ncd ..\bb \r\nant test.db1 保存为2.bat\r\n-----------\r\ncd ..\cc \r\nant test.db2 保存为3.bat\r\n----------------\r\n\r\n\r\n\r\ncls \r\necho on Create a Test DB start.... \r\n\r\ncall 1.bat\r\ncall 2.bat\r\ncall 3.bat\r\n\r\necho on Create a Test DB finish....

❷ 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是用来干什么的

Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。

Ant运行时需要一个XML文件, Ant通过调用target树,就可以执行各种task。每个task实现了特定接口对象。

由于Ant构建文件 是XML格式的文件,所以很容易维护和书写,而且结构很清晰。Ant可以集成到开发环境中。由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环 境中去。

(3)ant脚本命令扩展阅读

Ant的depends属性指定了target的执行顺序。Ant会依照depends属性中target出现顺序依次执行 每个target。

在执行之前,首先需要执行它所依赖的target。程序中的名为run的target的 depends属性compile,而名为compile的target的depends属性是prepare,所以这几个target执 行的顺序是prepare->compile->run。

一个target只能被执行一次,即使有多个target依赖于它。如果没有if或unless属性target总 会被执行。

参考资料来源:网络-apache ant

❹ 如何使用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脚本build.xml中path怎么使用

在文件里填上你的ant命令的全路径即可,因为ant默认读取的是build.xml文件,所以你就不需要携带参数了。把这个文件和build.xml放在同一个目录即可。

❻ 如何用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名),即可执行脚本并生成报告

❼ eclipse中ant怎么使用

用 Eclipse3.1 来创建 Ant 脚本
如果你使用 Eclipse 来编写 Ant,建议使用 Eclipse 3.1 以后的版本。除了以前 Ant 编辑器提供的语法高亮,提示语法错误等功能外,Eclipse3.1 版本增加了许多新的功能。比如:脚本代码的折叠;快速定位某属性或者目标(target)段的定义;在同一 builder 文件中重构属性名和目标名(快捷方式 Alt + Shift +R);调试 Ant 脚本等。
下面我们就来看看 Eclipse 3.1 中对 Ant 的支持
打开“File”-“New”-“Project”-“Simple”-“Project”,点击“Next”,输入工程名“Ant”,然后点击直到“Finish”
在新建的 Ant 工程中,新建 Test.xml,并且拷贝下面的脚本。该段脚本的内容就不做介绍了,我们主要看 Eclipse 提供了哪些功能。注意这时候打开的并不是 Ant 编辑器,将内容拷贝进去之后,关掉打开的“Test.xml”,然后再重新打开它,这样 Eclipse 就会用 Ant 编辑器打开它,并且也语法高亮了。
<?xml version="1.0" encoding="UTF-8"?>
<project name="Test" default="init" basedir=".">
<property name="test" value="test"/>
<target name="init">
<echo>${test}</echo>
</target>
</project>

自动提示和代码折叠功能。如果是 Ant 内置的命令或者前面已经定义的变量,编辑器会自动提示;编辑器右边的加 / 减号可以代码折叠。如下所示:

快速定位目标(target)或者定义变量处。在上图中,将鼠标移至 default=”init” 中的 init 上之后,按下 ctrl 键,鼠标变成手状,单击就可以定位到定义该目标的地方
快速重构目标名或者属性名。选中目标 / 属性名,按下 Alt + Shift + R,然后键入你要修改后的值,所有引用到的地方都会随之改动。如下图所示,选中 init 后,按下快捷键,改成 initial:

调试 Ant 脚本。在标签“<target name=..”的左边设置一断点,然后在编辑器中右击,出现的菜单中选“Debug As”-“Ant Build”,出现后的窗口与调试 Java 程序的界面差不多。
这是调试窗口,这里可以选择单步跟进、跳出等:

下面是运行时变量窗口。可以看到 test 变量的值是“test”:

运行结果窗口:

由此可见,如果使用好 Eclipse Ant 编辑器所提供强大的功能的话能大大提高写 Ant 脚本的效率。
回页首
Ant 中使用 property(属性)文件
刚开始写 Ant 的初学者可能会把所有的信息都放在 build.xml 中,下面就是这样的一个例子。
<project name="testBuild" default="compile" basedir=".">
<target name="init">
<mkdir dir="c:/temp/dest/testProj" />
</target>
<target name="compile" depends="init">
<javac srcdir="c:/temp/src/testProj" destdir="c:/temp/dest/testProj "/>
<echo>Build into c:/temp/dest/testProj, successfully.</echo>
</target>
</project>

在上面的例子中,所有的路径信息都是写在 build.xml 中。但是 Ant 脚本可能在不同的机器或者不同的系统上运行,也有可能一些值需要根据环境的不同而变化,在 Ant 中可以把所有这些可能变化的地方都放到一个配置文件中,然后在 Ant 脚本中引用这个配置文件就可以了,针对上面的例子,如下所示:
<project name="testBuild" default="compile" basedir=".">
<property file="build.properties"/>
<target name="init">
<mkdir dir="${dest.dir}" />
</target>
<target name="compile" depends="init">
<javac srcdir="${src.dir}" destdir="${dest.dir}"/>
<echo>Build into ${dest.dir}, successfully.</echo>
</target>
</project>
build.properties 的内容:
dest.dir=c:/temp/dest/testProj
src.dir=c:/temp/src/testProj

如果想在 Ant 脚本中引用值的话,只需用 $ 符号开头,在一对"{}"中写入要引用的键值。如上例中,需要引用编译的目标路径用"${dest.dir}"。
回页首
使用 Ant 任务从 CVS 中检出(check out)源代码,并编译打包
Ant 中提供了 cvs 任务(Task)可以从 CVS 服务器中检出资源(注意:在使用 Ant 的 cvs 任务之前,请先将 cvs.exe 下载到你的机器,并且将它添加到你本地的 PATH 环境变量中,然后重新启动 Eclipse。否则在执行下面脚本的时候就会得到 error=2 的错误)。cvs 的可选用属性很多,在这里介绍经常使用到的几个属性。从 CVS 中检出资源一般需要指定:
CVS 所在的服务器地址:目标 CVS 服务器地址
用户名:登录该 CVS 服务器你指定的用户名
密码:登录该 CVS 服务器需要的密码
库路径(Repository Path):服务器中的库路径
模块名:当前需要检出的模块名,一般都是以工程的名字作为模块名
标签名:需要从 CVS 中检出哪个标签
在介绍使用 Ant 的 cvs 之前,先说一下本地的目录结构。在 C 盘的 temp 目录下,分别有四个目录,如下所示:
build 目录:放编译后的类以及资源文件
dist 目录:放生成的 jar 文件或者 war 文件
lib 目录:放在编译过程中需要用到的 jar 文件
src 目录:放从 cvs 中检出的源文件(包括 JSP 等)
在 Ant 中这样写就可以从中检出资源:
<cvs cvsRoot=":pserver:username:[email protected]:/home/testPath"
package="TestProj" dest=" c:/temp/src/testProj " failonerror="true" />

这段脚本片断的意思就是从叫"cvs.server"的服务器中,用用户名是 username、密码为 pwd 的用户检出在库路径是 /home/testPath 下的 TestProj 模块(项目),检出后的资源放入本地目录 c:/temp/src/testProj 中。在上面这段脚本中,可以看到有很多值可能会根据不同的环境或者用户随之改变的,比如用户名和密码等;而且从脚本的重复可利用性来说,需要把有些值抽出来放到配置文件中,如服务器的地址和库路径等。因此把这些可能需要更改的地方放到 property 文件中,效果会更好。改完后的完整 Ant 脚本如下所示:
<?xml version="1.0"?>
<project name="testWeb" default="checkout" basedir=".">
<target name="checkout">
<property file="TestWeb.properties" />
<cvs cvsRoot="${cvs.root}" package="${cvs.projectName}"
tag="${cvs.tag}" dest="${src.dir}" failonerror="true" />
</target>
</project>

❽ ant脚本文件的时候,如何忽略空文件

可以通过includeEmptyDirs:用于指定是否复制空目录文件。默认为true。
< todir="${basedir}/new" includeEmptyDirs="false">
<fileset dir="${basedir}/old" >
<include name="appgen" />
<include name="appgen/" />
<include name=appgen/**" />
<include name="appgen/***" />
</fileset>
</>
通过这个属性,只要是空路径的文件都不会被复制。

❾ ant脚本如何调用LINUX命令,例如我要切换用户su - zhangsan

以ls为例:

<?xml version="1.0" ?>

<project name="testExec" default="test">

<target name="test">

<exec executable="ls"/>

</target>

</project>

也可以指明由Shell调用

<?xml version="1.0" ?>

<project name="testExec" default="test">

<target name="test">

<exec executable="/bin/sh">

<arg line="-c ls" />

</exec>

</target>

</project>

❿ 使用ant脚本打包android项目,包含library项目,如何设置依赖项目

设置方法如下:
1.生成R.java类文件:
Eclipse中会自动生成R.java,ant和命令行使用android SDK提供的aapt.ext程序生成R.java;

2.将.aidl文件生成.java类文件:
Eclipse中自动生成,ant和命令行使用android SDK提供的aidl.exe生成.java文件;

3.编译.java类文件生成class文件:
Eclipse中自动生成,ant和命令行使用jdk的javac编译java类文件生成class文件;

4.将class文件打包生成classes.dex文件:
Eclipse中自动生成,ant和命令行使用android SDK提供的dx.bat命令行脚本生成classes.dex文件;

5.打包资源文件:
Eclipse中自动生成,ant和命令行使用Android SDK提供的aapt.exe生成资源包文件;

6.生成未签名的apk安装文件:
Eclipse中自动生成debug签名文件存放在bin目录中,ant和命令行使用android SDK提供的apkbuilder.bat命令脚本生成未签名的apk安装文件;

7.对未签名的apk进行签名生成签名后的android文件就可以了。

阅读全文

与ant脚本命令相关的资料

热点内容
国产单片机厂商 浏览:56
苹果手机怎么设置不更新app软件 浏览:283
转行当程序员如何 浏览:491
苹果id怎么验证app 浏览:862
查看手机命令 浏览:952
抖音反编译地址 浏览:224
如何加密软件oppoa5 浏览:231
java从入门到精通明日科技 浏览:93
拆解汽车解压视频 浏览:595
新版百度云解压缩 浏览:591
android上下拉刷新 浏览:878
centos可执行文件反编译 浏览:836
林清玄pdf 浏览:270
黑马程序员java基础 浏览:283
awss3命令 浏览:358
百度店铺客户订单手机加密 浏览:501
钉钉班群文件夹怎么上传文件 浏览:749
人社app怎么解绑手机 浏览:101
caj文件夹打不开 浏览:475
什么app可以将电量变色 浏览:692