ant使用备忘

ant是一个脚本构建工具,可能就是持续集成里面所需要的构建工具。

如果使用eclipse,里面会自带有ant工具,不需要再安装了,创建一个build.xml(或者其他的名字都可以),使用ant来运行就可以了

如果使用的命令行来运行ant,需要安装的步骤如下:

(1)下载ant,解压,无需安装过程。

(2)将ant的bin目录加入到系统的环境变量path中。

(3)运行ant,可以查看是否加成功了。

(4)在cmd中,将目录切换到工程所在的build.xml目录下,运行ant(这里默认为build.xml文件,还可以自己制定需要的文件)

关于build.xml文件的目录结构

<project name="**">

<property name="src" value="test" />

<path id="classpath1.path">
<fileset dir="${lib.dir}">

<property name="dest" value="classes" />

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

<include name="*.jar" />

</fileset>

<pathelement location="${src}" />

<pathelement location="${dest}"/>
</path>

<!-- 定义一些初始化的操作 !-->

<target name="init">
    <delete verbose="true" includeemptydirs="true">
    <fileset dir="${dest}">
        <include name="**/*"/>
    </fileset>
</delete>
<mkdir dir="${dest}" />
</target>

<!--编译 !-->

<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}" classpathref="classpath1.path"/>
<echo message="${TIME}" />
</target>

<!--接下来有一些你需要做的事情,比如打包部署,或者运行一个程序等 !-->

...

</project>

一些需要记录的东西:

(1)运行一个java程序的定义:

<target name="sendmail" depends="compile">
   <java classname="com.sogou.maps.testApi.Integration" classpathref="classpath1.path">
       <classpath path="${dest}"></classpath>
       <arg value="${basedir}/${TIME}/emailable-report.html"></arg>
   </java>
</target>

如果引用了第三方的包,那么需要在classpathref中定义,否则会提示错误信息。

(2)定义一个时间戳

<tstamp> 
         <format property="TIME" pattern="yyyyMMdd-hhmm" locale="en,UK"/> 
    </tstamp>

只要定义了这个,就定义了三个参数:DSTAMP,TSTAMP,TODAY,在下面的内容中就可以使用${DSTAMP}等了。在上面我们定义了自己的参数TIME,可以使用。这个时间戳在整个build过程中是不变的。

(3)在命令行里运行的参数

命令行选项总结:
ant [options] [target [target2 [target3] ...]]
Options:
-help print this message
-projecthelp print project help information
-version print the version information and exit
-quiet be extra quiet
-verbose be extra verbose
-debug print debugging information
-emacs produce logging information without adornments
-logfile file use given file for log output
-logger classname the class that is to perform logging
-listener classname add an instance of class as a project listener
-buildfile file use specified buildfile
-find file search for buildfile towards the root of the filesystem and use the first one found
-Dproperty=value set property to value

(4)一些ant自带的内置变量

os.name:       操作系统的名称。

basedir: 项目引用的根路径。

ant.home:     Ant工具的根目录位置。

ant.file: 构件文件的绝对路径。

ant.version:   ant的版本信息。

ant.java.version: ant检测到的JVM版本。

ant.project.name: 当前执行的项目名称及信息。

java.version: Java的版本信息。

java.home:    Java的根目录位置。

java.class.path: Java类库的文件的位置。

line.separator:   换行符.

(5)编译的时候如果在windows下面使用命令行来运行ant的话,工程使用UTF-8,编译会有编码错误。需要设定编译的编码

<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}" classpathref="classpath1.path">
<compilerarg line="-encoding UTF-8"></compilerarg>
</javac>
<echo message="${TIME}" />
</target>

时间: 2024-11-06 11:34:01

ant使用备忘的相关文章

表情符号备忘单

表情符号备忘单 此页上列出的emoji 表情图释支持篝火. GitHub, Basecamp. Redbooth. Trac. Flowdock. Sprint.ly. Kandan. Textbox.io. Kippt. Redmine. JabbR.特雷略.大厅. Qiita.创业.红宝石中国.格罗夫. Idobata. NodeBB 论坛.可宽延时间. Streamup. OrganisedMinds. Hackpad. Cryptbin.加藤.据报.开朗鬼. IRCCloud. Dash

RxJava & RxAndroid备忘

"你问我要去向何方,我指着大海的方向" 今天在刷G+的时候看到Dave Smith推荐了一个视频 <Learning RxJava (for Android) by example> 点进去看了一下,原来是位熟悉的"阿三哥",视频封面如下:(没有歧视的意思,不要喷我啊~,为什么感到熟悉?接着往下看) 几乎同时也看到了JetBrains在G+也推荐了篇在Medium上的博文 <RxAndroid And Kotlin (Part 1)> ,然后

工作备忘:cacti&nagios登录密码修改方法

[[email protected]]# mysql -u root -p mysql> use cacti; mysql> select * from user_auth; mysql> update user_auth set password=md5("cactipasswd") where id='1'; 现在cacti登录的新密码就是cactipasswd [[email protected]]# /usr/bin/htpasswd /usr/local/n

备忘-linux文件系统结构

用apache的时候总是要进入/var/www, 用久了开始好奇这些个目录都是派什么用处的,简单整理了一下 /bin 存放二进制命令文件,这个目录下面不允许存在子目录/boot bootloader的静态文件,当然OS的文件也必须在这里/dev 设备文件,MAKEDEV命令可以创建设备/etc 特定主机的配置文件,必须是静态文件,非可执行文件: opt, X11, sgml, xml/home 用户目录 /lib 存放主要的共享库和核心模块/media 可移除媒体的挂载点: floppy, cd

[转]Windows环境下尝试安装并配置PHP PEAR备忘

转自:http://wangye.org/blog/archives/266/ 什么是PEAR 来自百度百科:PEAR 是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写.它是一个PHP扩展及应用的一个代码仓库,简单地说,PEAR之于PHP就像是CPAN(Comprehensive Perl Archive Network)之于Perl. 由此可见PEAR是PHP代码的仓库,在这里可以找到很多有用的代码,避免我们重复写一些功能,

Table view 备忘

Table view 备忘 本篇会以备忘为主,主要是一些基础的代理方法和数据源方法具体的优化好点子会后续跟上. Table view的数据源方法 必须实现的数据源方法 // 返回每一行的cell,可以做缓存处理,同样也可能会造成复用问题. func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { // tableview 和 cell 都是在s

oracle下 启动subversion命令 及 oracle相关服务启动备忘

linux shell下  svnserve - d -r + 目录   例如:svnserve -d -r /svn 启动 svn服务. 访问svn://192.168.0.120/kjcg 测试. 启动oracle: 一.如何启动数据库实例 1.进入到sqlplus启动实例 [[email protected] ~]$ su - oracle --“切换到oracle用户” 2. Password: [[email protected] ~]$ lsnrctl start  --“打开监听”

linux下常用命令备忘

转自:Linux 命令集锦 linux下查看监听端口对应的进程 # lsof -i:9000 # lsof -Pnl +M -i4 如果退格键变成了:"^h". 终端连接unix删除退格键,按住CTL键同时按delete Linux搜索 # find / -name "xxx.conf" 查看linux是32位还是64位的命令 #file /sbin/init #getconf LONG_BIT #getconf -a 在Linux和Windows下都可以用nslo

PHP设计模式之备忘模式

1.Norton Ghost的方便与问题 我们大多数win的用户都用过Norton Ghost,只要将目前系统备份一下生成镜像文件,等系统中毒或崩溃的时候,用Norton Ghost恢复一下就回到备份时候的样子了. 这个可以说就是备忘(Memento)模式的基本原理了,先备份,需要的时候恢复.因此备忘模式是比较好理解的. 但在实际应用中,如何正确的应用备忘模式,是需要注意的. 难道我们在word写文章的时候,先要Ghost备份一下所有的硬盘,一旦文章写错了,需要恢复,就用Ghost覆盖硬盘? 就