【Ant】Ant实例(1)一个Java文件依赖于某jar包,需要打包部署
作者: wangding263 链接:http://wangding263.javaeye.com/blog/309829 发表时间: 2009年01月04日
这是一个很简单的web 容器,是从Jetty这个容器中抽出最小子集,自己打包的.但是只能运行Servlet呵呵。
webserver.jar是jetty的依赖包,JettySample.java是运行文件.
JettySample.java的编译依赖于webserver.jar.
Build配置文件和文件压缩包如下,重要的地方,自己先写下注释,备忘,以后好查 呵呵。
<project default="run" basedir=".">
<property name="lib.dir" location="lib" />
<property name="src" location="src" />
<property name="classpath" location="build" />
<property name="dist" location="dist" />
<property name="webserver_jar" value="webserver.jar" />
<!--定义项目编译的时候,以来的lib包的路径-->
<path id="project.class.path">
<pathelement path="${classpath}" />
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
</path>
<target name="init">
<mkdir dir="${src}" />
<mkdir dir="${classpath}" />
<mkdir dir="${lib.dir}" />
<mkdir dir="${dist}" />
<copy file="${webserver_jar}" todir="${lib.dir}" />
<copy file="JettySample.java" todir="${src}" />
<copy file="${webserver_jar}" todir="${dist}" />
</target>
<target name="compile" depends="init">
<!--target="1.4" 表示编译器用1.4的方式编译,当然也可以采用1.5,classpath 中的refid这表示依赖于那些jar包编译-->
<javac fork="true" target="1.4" srcdir="src" destdir="${classpath}" debug="true" >
<classpath refid="project.class.path" />
</javac>
</target>
<target name="jar" depends="compile">
<jar destfile="${dist}/${webserver_jar}" update="true" basedir="${classpath}">
<!--定义jar包运行的时候,实现要寻找的含有main方法的主类-->
<manifest>
<attribute name="Main-class" value="JettySample" />
</manifest>
</jar>
</target>
<target name="run" depends="jar,clean">
<java jar="${dist}/${webserver_jar}" fork="true" />
</target>
<target name="clean">
<delete dir="${classpath}"/>
<delete dir="${src}"/>
<delete dir="${lib.dir}"/>
</target>
</project>
文件下载:webserver.zip
作者:
Chris Wang
出处:
http://chriswang.cnblogs.com/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。