读书人

关于Java手工编译项目使用之二 ant发布

发布时间: 2012-10-26 10:30:58 作者: rapoo

关于Java手工编译项目应用之二 ant发布运行项目

?? 项目代码:

? package com.jsw.app;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
?* @author gang.huang
?*
?*/
public class AutoTestDepart {
??? private static Log log = LogFactory.getLog(AutoTestDepart.class);

??? /**
??? ?* @param args
??? ?*/
??? public static void main(String[] args) {
??? ??? log.info("引入了第三方JAR文件");
??? ??? System.out.println("the is a auto test depart ok");

??? }

}

上面为测试代码,

下面编写ant脚本:

?

<?xml version="1.0" encoding="UTF-8"?>
<!-- ======================================================================
???? 2009-12-30 上午11:49:53???????????????????????????????????????????????????????

???? 用ant手工编译,运行一个项目
??????????????????
???? gang.huang????????????????
???? 注意事项:? basedir="."表示当前目录????????????????????????????????????????????
???? ====================================================================== -->
<project name="AutoTestDepart" default="run" basedir=".">
??? <description>
??????????? description
??? </description>
??? <!-- 定义全局属性-->
??? <!-- 需要编译的目录 指当前的目录-->
??? <property name="src" value="." />
??? <!--生成class类的目录,是需要我们创建的-->
??? <property name="build" value="build" />
??? <property name="dist" value="dist" />

??? <property name="AutoTest" value="AutoTest.jar" />
??? <!-- 全局jar文件,供其他target引用-->
??? <path id="ref-jar">
??? ??? <pathelement location="${src}/lib/commons-logging-1.1.1.jar" />

??? </path>


??? <!-- =================================
????????? target: default?????????????
???????? ================================= -->
??? <target name="init">
??? ??? <mkdir dir="${build}" />
??? ??? <mkdir dir="${dist}/lib/" />
??? </target>

??? <target name="run" depends="compile" description="description">
??? ??? <java classname="com.jsw.app.AutoTestDepart" classpath="${build}">
??? ??? ??? <classpath refid="ref-jar" />
??? ??? </java>


??? </target>
??? <!-- 编译,打包-->
??? <target name="compile" depends="clean,init">
??? ??? <javac srcdir="${src}" destdir="${build}">
??? ??? ??? <classpath refid="ref-jar" />
??? ??? </javac>
??? ??? <jar destfile="${dist}/lib/AutoDepart.jar" basedir="${build}" />
??? </target>
??? <target name="clean">
??? ??? <delete dir="${build}" />
??? ??? <delete dir="${dist}}/lib" />
??? </target>

</project>

?

结果:

D:\work\stuworkspace\AutoTestDepart>ant
Buildfile: build.xml

clean:
?? [delete] Deleting directory D:\work\stuworkspace\AutoTestDepart\build

init:
??? [mkdir] Created dir: D:\work\stuworkspace\AutoTestDepart\build

compile:
??? [javac] Compiling 1 source file to D:\work\stuworkspace\AutoTestDepart\build
????? [jar] Building jar: D:\work\stuworkspace\AutoTestDepart\dist\lib\AutoDepart.jar

run:
???? [java] 2009-12-30 16:19:52 com.jsw.app.AutoTestDepart main
???? [java] 信息: 引入了第三方JAR文件
???? [java] the is a auto test depart ok

BUILD SUCCESSFUL
Total time: 1 second

读书人网 >软件架构设计

热点推荐