【Ant】Ant例(1)Javaファイルはあるjarパケットに依存しています。パッケージ展開が必要です。


これはとても簡単なwebコンテナです。Jettyという容器から一番小さいサブセットを抜き出して、自分で包装しました。でも、Servletを実行します。
 
         webserver.jarはキティの依存カバンで、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>