[ant]JAR 파일 생성 예

이종철 0 3,818 2006.05.23 23:02
[ant]JAR 파일 생성 예
 
 
아래는 로컬의 CLASS 및 소스들을 서버로 올리는데 클래스를 JAR로 만들고 LIB아래의 *.jar 파일에 대한 클래스패스를 JAR 파일에 추가하는 예제 이니 참고 바랍니다.

path 및 pathconvert를 사용했는데 이는 로컬의 lib아래 jar 파일들을 작성할 JAR 파일의 Class-Path에 추가하기 위해 사용한 겁니다.

=====================================================================

<project name="ServerClass Builder" default="FTP_JAR" basedir=".">               
        <target name="init">
                <property name="ftp.src.dir" value="/test/PROD/SRC" />
                <property name="ftp.class.dir" value="/test/PROD/CLASSES" />
                <property name="ftp.lib.dir" value="/test/PROD/LIB" />

                <property name="root" value="C:\1.test\project\test" />
                <property name="local.src.dir" value="${root}\src" />
                <property name="local.class.dir" value="${root}\bin" />
                <property name="local.lib.dir" value="${root}\lib" />

                <path id="class.path">
                        <fileset dir="${local.lib.dir}">
                                <include name="*.jar" />
                        </fileset>
                </path>

                <pathconvert property="class-path" pathsep=" " dirsep="/" refid="class.path" targetos="unix">
                        <map from="${local.lib.dir}" to="${ftp.lib.dir}" />
                </pathconvert>
        </target>

        <target name="FTP_SRC">
                <echo message="|-------------------------------------------------------------| " />
                <echo message="|                                                            | " />
                <echo message="|                                                            | " />
                <echo message="|                  --------------------                      | " />
                <echo message="|                  SENDING SOURCE FILES                      | " />
                <echo message="|                  --------------------                      | " />
                <echo message="|                                                            | " />
                <echo message="|                                                            | " />
                <echo message="|                                                            | " />
                <echo message="|-------------------------------------------------------------| " />
                <ftp server="111.222.333.444" remotedir="${ftp.src.dir}" userid="test" password="test.system" binary="true" verbose="yes">
                        <fileset dir="${local.src.dir}">
                                <include name="**" />
                                <exclude name="${local.src.dir}/java/log4j.properties" />
                        </fileset>
                </ftp>
        </target>

        <target name="FTP_CLASS">
                <echo message="|-------------------------------------------------------------| " />
                <echo message="|                                                            | " />
                <echo message="|                                                            | " />
                <echo message="|                  --------------------                      | " />
                <echo message="|                  SENDING CLASS FILES                      | " />
                <echo message="|                  --------------------                      | " />
                <echo message="|                                                            | " />
                <echo message="|                                                            | " />
                <echo message="|                                                            | " />
                <echo message="|-------------------------------------------------------------| " />

                <ftp server="111.222.333.444" remotedir="${ftp.class.dir}" userid="test" password="test.system" binary="true" verbose="yes">
                        <fileset dir="${local.class.dir}">
                                <include name="**" />
                                <exclude name="log4j.properties" />
                                <exclude name="com/**" />
                        </fileset>
                </ftp>
        </target>

        <target name="FTP_LIB" depends="init, FTP_SRC, FTP_CLASS">
                <echo message="|-------------------------------------------------------------| " />
                <echo message="|                                                            | " />
                <echo message="|                                                            | " />
                <echo message="|                  --------------------                      | " />
                <echo message="|                    SENDING LIB FILES                      | " />
                <echo message="|                  --------------------                      | " />
                <echo message="|                                                            | " />
                <echo message="|                                                            | " />
                <echo message="|                                                            | " />
                <echo message="|-------------------------------------------------------------| " />

                <ftp server="111.222.333.444" remotedir="${ftp.lib.dir}" userid="test" password="test.system" binary="true" verbose="yes">
                        <fileset dir="${local.lib.dir}">
                                <include name="**" />
                        </fileset>
                </ftp>
        </target>

        <target name="CREATE_JAR" depends="FTP_LIB">
                <echo message="|-------------------------------------------------------------| " />
                <echo message="|                                                            | " />
                <echo message="|                                                            | " />
                <echo message="|                      ----------                            | " />
                <echo message="|                      CREATE JAR                            | " />
                <echo message="|                      ----------                            | " />
                <echo message="|                                                            | " />
                <echo message="|                                                            | " />
                <echo message="|                                                            | " />
                <echo message="|-------------------------------------------------------------| " />

                <jar destfile="${local.lib.dir}/test.jar">
                        <fileset dir="${local.class.dir}" includes="**/*" />                                               
                        <manifest>
                                <attribute name="Main-Class" value="com.skcc.test.load.DirCheckDemon" />
                                <attribute name="Implementation-Title" value="test" />
                                <attribute name="Implementation-Version" value="0.1" />
                                <attribute name="Implementation-Vendor" value="SK Telink" />
                                <attribute name="Class-Path" value="${class-path}" />
                        </manifest>
                </jar>
        </target>

        <target name="FTP_JAR" depends="CREATE_JAR">
                <echo message="|-------------------------------------------------------------| " />
                <echo message="|                                                            | " />
                <echo message="|                                                            | " />
                <echo message="|                      -------------                          | " />
                <echo message="|                      SENDING  JAR                          | " />
                <echo message="|                      -------------                          | " />
                <echo message="|                                                            | " />
                <echo message="|                                                            | " />
                <echo message="|                                                            | " />
                <echo message="|-------------------------------------------------------------| " />

                <ftp server="111.222.333.444" remotedir="${ftp.class.dir}" userid="test" password="test.system" binary="true" verbose="yes">
                        <fileset dir="${local.lib.dir}">
                                <include name="test.jar" />
                        </fileset>
                </ftp>

                <echo message="|-------------------------------------------------------------| " />
                <echo message="|                                                            | " />
                <echo message="|                                                            | " />
                <echo message="|                                                            | " />
                <echo message="|                      LOADING COMPLETE!!!                    | " />
                <echo message="|                      (111.222.333.444)                          | " />
                <echo message="|                                                            | " />
                <echo message="|                                                            | " />
                <echo message="|                      OK~~~~~~~                            | " />
                <echo message="|-------------------------------------------------------------| " />
        </target>
</project>
 

 

Comments