您的位置:首页 > 编程语言 > Java开发

Ant 编译 JDK 源码

2011-04-05 16:43 246 查看
整理了一下编译JDK源码的Ant脚本。发现用新一点的JDK编译旧的版本更容易,比如用jdk1.6.0_25编译jdk1.6.0_21。如果直接用jdk1.6.0_21编译自身代码,不是缺这个就是没那个,颇为麻烦。切到jdk1.6.0_25后,一下就编译通过了。

<project name="create rt_debug.jar" default="createJar" basedir=".">

<!-- *************************************************************** -->

<!-- Set-Up of propertys -->

<!-- *************************************************************** -->

<property name="project.build" location="build" />

<property name="project.src" location="${project.build}/src" />

<property name="project.classes" location="${project.build}/classes" />

<property name="project.dist" location="${project.build}/dist" />

<property name="JAVA_SOURCE" value="C:/Dev/Software/Java/jdk1.6.0_21" />

<property name="JAVA_COMPILER" value="C:/Dev/Software/Java/jdk1.6.0_25/fastdebug" />

<property name="debuglevel" value="source,lines,vars" />

<property name="target" value="1.6" />

<property name="source" value="1.6" />

<property environment="env" />

<!-- *************************************************************** -->

<!-- Initialize the bulid environment. -->

<!-- *************************************************************** -->

<target name="init">

<!-- Create the time stamp -->

<tstamp />

</target>

<!-- *************************************************************** -->

<!-- Set-Up of classpath -->

<!-- *************************************************************** -->

<path id="JavaLibraries">

<pathelement location="${project.classes}" />

<fileset dir="${JAVA_COMPILER}/lib">

<include name="**/*.jar" />

</fileset>

<fileset dir="${JAVA_COMPILER}/jre/lib">

<include name="**/*.jar" />

</fileset>

</path>

<path id="project.classpath">

<path refid="JavaLibraries" />

</path>

<!-- *************************************************************** -->

<!-- Clean the bulid environment. -->

<!-- *************************************************************** -->

<target name="clean" depends="init">

<delete dir="${project.build}" quiet="true" />

<mkdir dir="${project.build}" />

</target>

<!-- *************************************************************** -->

<!-- Unpacd the source code package. -->

<!-- *************************************************************** -->

<target name="unpack" depends="init, clean">

<unzip src=\'#\'" /src.zip" dest="${project.src}" />

</target>

<!-- ****************************************************************** -->

<!-- Compile the source code. -->

<!-- ******************************************************************* -->

<target name="build" depends="unpack">

<echo message="Compile ${ant.project.name}" />

<mkdir dir="${project.classes}" />

<javac classpathref="project.classpath" srcdir="${project.src}" destdir="${project.classes}" debug="true" debuglevel="${debuglevel}" source="${source}" target="${target}" fork="true" memoryMaximumSize="512m">

<include name="**/*.java" />

</javac>

</target>

<!-- ****************************************************************** -->

<!-- Create jar package. -->

<!-- ******************************************************************* -->

<target name="createJar" depends="build">

<mkdir dir="${project.dist}" />

<jar jarfile="${project.dist}/rt_debug.jar" compress="false">

<fileset dir="${project.classes}" />

</jar>

</target>

</project>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: