【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 

posted @ 2009-01-04 22:45  Chris Wang  阅读(5103)  评论(1编辑  收藏  举报