Java的Ant文件是什么?如何创建?

Python010

Java的Ant文件是什么?如何创建?,第1张

ant文件是build.ant。我也有用这个生成固定规格文件用的,我是用它生成数据库脚本用,挺方便的

你在项目里面就有新建ant文件那个东西,new--》其他---》搜索ant然后建立就好了

给你看个样本

<?xml version="1.0" encoding="GB2312"?>

<!-- ======================================================================

2013-01-30

project:数据库脚本

description:生成数据库脚本包用的Ant脚本

====================================================================== -->

<project name="SQLscript" default="default">

<property name="FILE_NAME_RESOURCE" value="resource_tmrpt.sql" />

<property name="FILE_NAME_INIT" value="init_tmrpt.sql" />

<!-- 创建数据库资源 -->

<property name="TMRPT_TABLE_SCRIPT" value="./03_Table" />

<property name="TMRPT_SEQUENCE_SCRIPT" value="./08_sequence" />

<property name="TMRPT_FUNCTION_SCRIPT" value="./07_function" />

<property name="TMRPT_PROCEDURE_SCRIPT" value="./02_procedure" />

<property name="TMRPT_JOB_SCRIPT" value="./05_job" />

<!-- 初始化数据 -->

<property name="TMRPT_DATA_SCRIPT" value="./01_data" />

<target name="default" depends="init,resource_tmrpt,init_tmrpt" description="">

</target>

<target name="init">

<tstamp>

<format property="TODAY" pattern="yyyyMMdd" locale="cn" />

</tstamp>

<delete file="${FILE_NAME_RESOURCE}"></delete>

<delete file="${FILE_NAME_INIT}"></delete>

</target>

<!-- resource_tmrpt Script -->

<target name="resource_tmrpt">

<concat destfile="${FILE_NAME_RESOURCE}" append="true" fixlastline="true">

<fileset dir="${TMRPT_TABLE_SCRIPT}" casesensitive="false">

<include name="*.SQL" />

</fileset>

</concat>

<concat destfile="${FILE_NAME_RESOURCE}" append="true" fixlastline="true">

<fileset dir="${TMRPT_SEQUENCE_SCRIPT}" casesensitive="false">

<include name="*.SQL" />

</fileset>

</concat>

<concat destfile="${FILE_NAME_RESOURCE}" append="true" fixlastline="true">

<fileset dir="${TMRPT_FUNCTION_SCRIPT}" casesensitive="false">

<include name="*.SQL" />

</fileset>

</concat>

<concat destfile="${FILE_NAME_RESOURCE}" append="true" fixlastline="true">

<fileset dir="${TMRPT_PROCEDURE_SCRIPT}" casesensitive="false">

<include name="*.SQL" />

</fileset>

</concat>

<concat destfile="${FILE_NAME_RESOURCE}" append="true" fixlastline="true">

<fileset dir="${TMRPT_JOB_SCRIPT}" casesensitive="false">

<include name="*.SQL" />

</fileset>

</concat>

</target>

<!-- init_tmrpt Script -->

<target name="init_tmrpt">

<concat destfile="${FILE_NAME_INIT}" append="true" fixlastline="true">

<fileset dir="${TMRPT_DATA_SCRIPT}" casesensitive="false">

<include name="*.SQL" />

</fileset>

</concat>

</target>

</project>

这个就是某些后缀的文件在固定目录里面生成到同一个脚本里面,我这个是生成到resource_tmrpt.sql和init_tmrpt.sql

一、源文件情况

源文件位置为:D:\temp,源文件名(含包名字):com.ldq.WeatherDemo.java

前提:已安装 jdk ,并配置好环境变量。

二、过程

1、编译:

提示符进入 D:\temp 路径下,输入:javac com\ldq\WeatherDemo.java

生成类文件:WeatherDemo.class

2、打包:

提示符进入 D:\temp 路径下,输入:jar cvf WeatherDemo.jar com\ldq\WeatherDemo.class

生成档案文件:WeatherDemo.jar

3、修改 MANIFEST.MF 文件:

由于引用了外部的类,所以要添加引用类的路径,即修改MANIFEST.MF文件。保存如下内容到 D:\temp下,文件名 MANIFEST.MF

Manifest-Version: 1.0

Sealed: true

Main-Class: com.ldq.WeatherDemo

Class-Path: lib/jaxrpc.jar lib/log4j-1.2.8.jar lib/mail.jar lib/saaj.jar lib/tools.jar lib/wsdl4j-1.5.1.jar lib/activation.jar lib/axis.jar lib/axis-ant.jar lib/commons-discovery-0.2.jar lib/commons-logging-1.0.4.jar

注意在后面空两行。

提示符进入 D:\temp 路径下,输入:jar umf MANIFEST.MF WeatherDemo.jar

执行时会提示更新的内容。

4、添加包含引用类的相应文件:

在 D:\temp 路径下,新建 lib 文件夹,讲对应的 jaxrpc.jar ... 拷入其中,此时,即可双击(或在提示符下输入:java -jar WeatherDemo.jar)运行 WeatherDemo.jar 文件了。

三、总结

双击运行 jar 文件时,虚拟机会到 jar 文件中下找 .MF 文件,找到对应的 Main-Class 运行,引入的类在 Class-Path 所指路径。

事实上可以利用 winrar或winzip 工具打开 jar 文件,直接将修改好的 MANIFEST.MF 拷入覆盖,class文件也可以做同样的操作,节省了输入复杂难记的命令。另外,对于 javaME 生成的 jar 文件,限制严格些,MANIFEST.MF 文件中有个文件大小的字段,可以先保存,查看文件大小,再修改保存。

另一种方法是通过 Eclipse - Export - Runnable JAR file 直接生成 jar 文件,此时,所有的引用类都被打包在 jar 文件里了。