ant 打包脚本
整理了一下编译JDK源码的Ant脚本。发现用新一点的JDK编译旧的版本更容易,比如用jdk1.6.0_25编译jdk1.6.0_21。如果直接用jdk1.6.0_21编译自身代码,不是缺这个就是没那个,颇为麻烦。切到jdk1.6.0_25后,一下就编译通过了。
<projectname="creatert_debug.jar"default="createJar"basedir=".">
<!--***************************************************************-->
<!--Set-Upofpropertys-->
<!--***************************************************************-->
<propertyname="project.build"location="build"/>
<propertyname="project.src"location="${project.build}/src"/>
<propertyname="project.classes"location="${project.build}/classes"/>
<propertyname="project.dist"location="${project.build}/dist"/>
<propertyname="JAVA_SOURCE"value="C:/Dev/Software/Java/jdk1.6.0_21"/>
<propertyname="JAVA_COMPILER"value="C:/Dev/Software/Java/jdk1.6.0_25/fastdebug"/>
<propertyname="debuglevel"value="source,lines,vars"/>
<propertyname="target"value="1.6"/>
<propertyname="source"value="1.6"/>
<propertyenvironment="env"/>
<!--***************************************************************-->
<!--Initializethebulidenvironment.-->
<!--***************************************************************-->
<targetname="init">
<!--Createthetimestamp-->
<tstamp/>
</target>
<!--***************************************************************-->
<!--Set-Upofclasspath-->
<!--***************************************************************-->
<pathid="JavaLibraries">
<pathelementlocation="${project.classes}"/>
<filesetdir="${JAVA_COMPILER}/lib">
<includename="**/*.jar"/>
</fileset>
<filesetdir="${JAVA_COMPILER}/jre/lib">
<includename="**/*.jar"/>
</fileset>
</path>
<pathid="project.classpath">
<pathrefid="JavaLibraries"/>
</path>
<!--***************************************************************-->
<!--Cleanthebulidenvironment.-->
<!--***************************************************************-->
<targetname="clean"depends="init">
<deletedir="${project.build}"quiet="true"/>
<mkdirdir="${project.build}"/>
</target>
<!--***************************************************************-->
<!--Unpacdthesourcecodepackage.-->
<!--***************************************************************-->
<targetname="unpack"depends="init,clean">
<unzipsrc="${JAVA_SOURCE}/src.zip"dest="${project.src}"/>
</target>
<!--******************************************************************-->
<!--Compilethesourcecode.-->
<!--*******************************************************************-->
<targetname="build"depends="unpack">
<echomessage="Compile${ant.project.name}"/>
<mkdirdir="${project.classes}"/>
<javacclasspathref="project.classpath"srcdir="${project.src}"destdir="${project.classes}"debug="true"debuglevel="${debuglevel}"source="${source}"target="${target}"fork="true"memoryMaximumSize="512m">
<includename="**/*.java"/>
</javac>
</target>
<!--******************************************************************-->
<!--Createjarpackage.-->
<!--*******************************************************************-->
<targetname="createJar"depends="build">
<mkdirdir="${project.dist}"/>
<jarjarfile="${project.dist}/rt_debug.jar"compress="false">
<filesetdir="${project.classes}"/>
</jar>
</target>
</project>