我也没好好看过,给你个例子吧!
build.xml
<project name="aaa" default="compile" basedir="."> <property name="app.name" value="SYS-001"/>
<property name="deploy.home" value="${project.home}/webapps/${app.name}"/>
<property name="dist.home" value="${deploy.home}"/>
<property name="dist.src" value="${app.name}.jar"/>
<property name="dist.war" value="${app.name}.war"/>
<!--
<property name="javadoc.home" value="${deploy.home}/javadoc"/>
--> <target name="prepare">
<mkdir dir="${deploy.home}"/>
<copy todir="${deploy.home}">
<fileset dir="web"/>
</copy>
<mkdir dir="${deploy.home}/WEB-INF"/>
<copy file="etc/web.xml" tofile="${deploy.home}/WEB-INF/web.xml"/>
<mkdir dir="${deploy.home}/WEB-INF/classes"/>
<!--
<mkdir dir="${javadoc.home}"/>
-->
</target>
<target name="clean">
<delete dir="${deploy.home}"/>
</target>
<target name="compile" depends="prepare">
<javac srcdir="src" destdir="${deploy.home}/WEB-INF/classes"
classpath="${deploy.home}/WEB-INF/classes"
debug="on" optimize="off" deprecation="off"/>
<copy todir="${deploy.home}/WEB-INF/classes">
<fileset dir="src" includes="**/*.properties"/>
</copy>
</target>
<!--
<target name="javadoc" depends="prepare">
<javadoc sourcepath="src" packagenames="*"
destdir="${javadoc.home}"/>
</target>
-->
<!--
<target name="all" depends="clean,prepare,compile,javadoc"/>
-->
<target name="all" depends="clean,prepare,compile"/>
<target name="dist" depends="prepare,compile">
<jar jarfile="${dist.home}/${dist.src}"
basedir="." includes="*"/>
<jar jarfile="${dist.home}/${dist.war}"
basedir="${deploy.home}" includes="*"/>
</target>
</project>
build.bat
@echo offset _CP=%CP%if not "%PROJECT_HOME%" == "" goto set_antpathset PROJECT_HOME=%TOMCAT_HOME%:set_antpathif not "%ANT_HOME%" == "" goto set_ant_classpathset ANT_HOME=%TOMCAT_HOME%:set_ant_classpathset CP=%ANT_HOME%\lib\ant.jarif not "%ENHYDRA_HOME%" == "" goto set_enhydra_classpathset CP=%CP%;%TOMCAT_HOME%\lib\servlet.jargoto set_other_classpath:set_enhydra_classpathset CP=%CP%;%ENHYDRA_HOME%\lib\enhydra.jar:set_other_classpathset CP=%CP%;%ANT_HOME%\lib\jaxp.jar;%ANT_HOME%\lib\parser.jar
set CP=%CP%;%JAVA_HOME%\lib\tools.jar
java -classpath %CP%;%CLASSPATH% org.apache.tools.ant.Main -Dproject.home=%PROJECT_HOME% %1 %2 %3 %4 %5 %6 %7 %8 %9set CP=%_CP%
set _CP=
build.xml
<project name="aaa" default="compile" basedir="."> <property name="app.name" value="SYS-001"/>
<property name="deploy.home" value="${project.home}/webapps/${app.name}"/>
<property name="dist.home" value="${deploy.home}"/>
<property name="dist.src" value="${app.name}.jar"/>
<property name="dist.war" value="${app.name}.war"/>
<!--
<property name="javadoc.home" value="${deploy.home}/javadoc"/>
--> <target name="prepare">
<mkdir dir="${deploy.home}"/>
<copy todir="${deploy.home}">
<fileset dir="web"/>
</copy>
<mkdir dir="${deploy.home}/WEB-INF"/>
<copy file="etc/web.xml" tofile="${deploy.home}/WEB-INF/web.xml"/>
<mkdir dir="${deploy.home}/WEB-INF/classes"/>
<!--
<mkdir dir="${javadoc.home}"/>
-->
</target>
<target name="clean">
<delete dir="${deploy.home}"/>
</target>
<target name="compile" depends="prepare">
<javac srcdir="src" destdir="${deploy.home}/WEB-INF/classes"
classpath="${deploy.home}/WEB-INF/classes"
debug="on" optimize="off" deprecation="off"/>
<copy todir="${deploy.home}/WEB-INF/classes">
<fileset dir="src" includes="**/*.properties"/>
</copy>
</target>
<!--
<target name="javadoc" depends="prepare">
<javadoc sourcepath="src" packagenames="*"
destdir="${javadoc.home}"/>
</target>
-->
<!--
<target name="all" depends="clean,prepare,compile,javadoc"/>
-->
<target name="all" depends="clean,prepare,compile"/>
<target name="dist" depends="prepare,compile">
<jar jarfile="${dist.home}/${dist.src}"
basedir="." includes="*"/>
<jar jarfile="${dist.home}/${dist.war}"
basedir="${deploy.home}" includes="*"/>
</target>
</project>
build.bat
@echo offset _CP=%CP%if not "%PROJECT_HOME%" == "" goto set_antpathset PROJECT_HOME=%TOMCAT_HOME%:set_antpathif not "%ANT_HOME%" == "" goto set_ant_classpathset ANT_HOME=%TOMCAT_HOME%:set_ant_classpathset CP=%ANT_HOME%\lib\ant.jarif not "%ENHYDRA_HOME%" == "" goto set_enhydra_classpathset CP=%CP%;%TOMCAT_HOME%\lib\servlet.jargoto set_other_classpath:set_enhydra_classpathset CP=%CP%;%ENHYDRA_HOME%\lib\enhydra.jar:set_other_classpathset CP=%CP%;%ANT_HOME%\lib\jaxp.jar;%ANT_HOME%\lib\parser.jar
set CP=%CP%;%JAVA_HOME%\lib\tools.jar
java -classpath %CP%;%CLASSPATH% org.apache.tools.ant.Main -Dproject.home=%PROJECT_HOME% %1 %2 %3 %4 %5 %6 %7 %8 %9set CP=%_CP%
set _CP=
解决方案 »
- 用Future实现Timeout,Call方法已经返回,但Future.get方法没有得到,而出了timeoutException
- 加急!单个Frame中显示多个jfreechart柱状图问题?
- 问一个java中对象赋值和是否相等的问题
- 点击菜单项,让它弹出另一个窗口,该如何做?
- 请教jni的初级问题
- 请教Java集合的问题
- JSP高手请入座~~~~在线!
- 求effective java 电子版 我散分
- VBScript中FormatNumber(expression ,0,-1)是什么功能?用java怎么替换?
- 好凄惨啊……大虾救我,在线等待……我下载JB6,足有625M,可是我……吐血
- what a java could be?-----let's talk in english!($_$)
- 关于java类库的问题
<path id="alloy.lib">
<fileset dir="${lib.dir}">
<include name="alloy.jar"/>
<include name="feels.jar"/>
</fileset>
</path>
<target name="prepare" description="初始化,生成目录">
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.dir.classes}"/>
</target>
<target name="clean" description="清除目录">
<delete dir="${build.dir}"/>
</target>
<target name="compile" depends="prepare" description="编译">
<javac classpath="."
srcdir="${src.dir}"
destdir="${build.dir.classes}">
<classpath refid="alloy.lib"/>
</javac>
</target>
<target name = "package" depends = "compile" description="打包">
<jar jarfile = "${classes.package}"
basedir = "${build.dir.classes}"
includes = "soft/**">
<manifest>
<attribute name = "Main-Class" value = "${main.class}"/>
<attribute name = "Class-Path" value = "${runtime.path}"/>
</manifest>
</jar>
<jar jarfile = "${src.package}"
basedir = "${src.dir}"
includes = "soft/**">
</jar>
</target>
</project>
2. 我试了一下,根据class文件的时间属性,可以看出,即使没有改变原文件,还是重新编译了一遍,请问是不是要在build.xml中有所设置?如果工程很大,重复编译很费时间。
下面是我的build.xml:
<?xml version="1.0"?><project name="TestGui" default="dist" basedir="."> <property name="src" location="src"/>
<property name="build" location="build"/>
<property name="dist" location="dist"/>
<property name="resource" location="resource"/> <target name="init">
<mkdir dir="${build}"/>
</target>
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${build}"/>
</target>
<target name="dist" depends="compile">
<mkdir dir="${dist}/lib"/>
<jar jarfile="${dist}/lib/AntTest-${DSTAMP}.jar"
basedir="${build}">
<manifest>
<attribute name = "Main-Class" value = "com.myCompany.myPackage.AntTest"/>
</manifest>
</jar>
</target>
<target name="clean">
<delete dir="${build}"/>
<delete dir="${dist}/lib"/>
</target>
</project>