C:\>ant -help\-h 获取ant的帮助信息(ps:斜杠\在此处的意思为或 表明-help和-h的意义一样 后者为前者的缩写,以下命令类同)
C:\>ant -projecthelp\-p 列出build.xml中的所有目标任务
C:\>ant -version 获取当前ant的版本信息
C:\>ant -diagnostics 诊断当前ant项目的运行环境、依赖库等信息
C:\>ant -debug\-d 显示ant执行调式的信息、详细的log信息
C:\>ant -lib<path> 指定一个类库所在的位置(jar文件位置),让ant工具可以使用这些文类件。path类型指定类库文件
C:\>ant -logfile<file> 使ant输出到一个指定文件当中,而不是输出到运行ant的终端的标准输出设备上 可以和-listener、-logger一起使用
C:\>ant -quiet\-q 隐藏ant执行的提示输出信息。
C:\>ant -verbose\-v 显示ant执行的详细信息,包括操作系统和java环境等信息
C:\>ant -buildfile<file>没有指定任何参数时,ant会在当前目录下查询build.xml文件,如果找到了就用该文件作为buildfile,要想让ant使用其他的buildfile,就用该参数指定要使用的buildfile
C:\>ant -D<property>=<value> 用户设定一些变量,这些变量可以在target中直接引用,或覆盖已设定的属性值
C:\>ant -find<file>\-s<file> 查找构建文件,并执行找到的构建文件
ant中的系统属性(用${}来获取属性值 例如${os.name})
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: 换行符(用可能是不可见字符)
user.home: 用户的home目录,在Linux和UNIX中经常用到
build.xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<project name="salesmanager" default="create.schema.mysql" basedir=".">
<description>
- creates the schema
- copy data
</description>
<property file="build.properties" />
<property name="db_host" value="${db_host}"/><!-- keep -->
<property name="db_port" value="${db_port}"/><!-- keep -->
<property name="db_username" value="${db_username}"/><!-- keep -->
<property name="db_password" value="${db_password}"/><!-- keep -->
<property name="db_name" value="${salesmanager_db_name}"/><!-- keep -->
<property name="sqldir" value="${shopizer.project.path}/project/sql" /><!-- keep -->
<property name="core" value="sm-core" />
<path id="classpath">
<fileset dir="./lib/drivers/" includes="**/*.jar"/>
<fileset dir="./lib/tools/" includes="**/*.jar"/>
<fileset dir="H:/Program Files/Java/jdk1.6.0_10/jre/lib/" includes="*.jar" />
</path>
<!-- ********************* MYSQL **************************** -->
<!-- ** May have to change max allowed packet in my.ini max_allowed_packet=16M ** -->
<target name="create.schema.mysql" description="Create schema MySQL">
<echo message="INTO create.schema.mysql"/>
<sql driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://${db_host}:${db_port}/${db_name}"
userid="${db_username}" password="${db_password}">
<classpath>
<path refid="classpath"/>
</classpath>
<!--<connectionProperty name="useUnicode" value="true"/>
<connectionProperty name="characterEncoding" value="UTF-8"/>-->
<transaction src="./sql/shopizer_schema_mysql.sql"/>
<transaction src="./sql/data/shopizer_data.sql"/>
<transaction src="./sql/data/shopizer_merchant_data.sql"/>
<transaction src="./sql/data/shopizer_modules.sql"/>
<transaction src="./sql/data/decotemplates.sql"/>
</sql>
</target>
<!-- ********************* HSQLDB **************************** -->
<target name="create.schema.hsql.ddl" description="Create HSQL Schema using DDL util">
<taskdef classname="org.apache.ddlutils.task.DdlToDatabaseTask"
name="ddlToDatabase"
classpathref="classpath"/>
<ddlToDatabase usedelimitedsqlidentifiers="true">
<database driverclassname="org.hsqldb.jdbcDriver"
url="jdbc:hsqldb:hsql://${db_host}:${db_port}/${db_name}"
username="${db_username}"
password="${db_password}"/>
<fileset dir="./sql/">
<include name="shopizer_schema_hsqldb.xml"/>
</fileset>
<createdatabase failonerror="false"/>
<writeschematodatabase alterdatabase="true"
failonerror="false"/>
</ddlToDatabase>
</target>
<target name="create.data.hsql" depends="create.schema.hsql.ddl" description="Create schema HSQLDB">
<echo message="INTO create.schema.hsql"/>
<sql driver="org.hsqldb.jdbcDriver"
url="jdbc:hsqldb:hsql://${db_host}:${db_port}/${db_name}"
userid="${db_username}" password="${db_password}" >
<classpath>
<path refid="classpath"/>
</classpath>
<transaction src="./sql/data/shopizer_data.sql"/>
<transaction src="./sql/data/shopizer_merchant_data.sql"/>
<transaction src="./sql/data/shopizer_modules.sql"/>
<transaction src="./sql/data/decotemplates.sql"/>
</sql>
</target>
<!-- ********************* ORACLE **************************** -->
<target name="create.schema.oracle" description="Create schema Oracle">
<echo message="INTO create.schema.oracle"/>
<exec executable="SQLPLUS.EXE">
<arg line="${db_username}/${db_password}@${db_name} @sql/shopizer_oracle.sql"/>
</exec>
</target>
</project>