打开好久好久没打开过的MyEclipse发现了这个东东,如下(点击下载测试工程):
<project name="AntGenKey" default="build" basedir=".">
<!-- 设定系统环境变量名为env,以备下边使用 -->
<property environment="env" />
<!-- 设定构建JAR时的路径与文件名参数,注意:下边的属性设定时,如果属性代表路径,则为了适应相应操作系统可用location代替value;
如果属性代表文件名,则必须用value. -->
<property name="src" value="./src/com/isoft/applet" />
<property name="webRoot" location="WebRoot" />
<property name="webInf" location="${webRoot}/WEB-INF" />
<property name="destDir" location="${webInf}/classes" />
<property name="classPath" location="${webInf}/lib" />
<property name="topoJarPath" location="${webRoot}" />
<property name="jarName" value="test.jar" />
<!-- 数字签名用的密钥信息参数 -->
<property name="keystoreName" value="isoftkeystore.store" />
<property name="storepass" value="isoft123" />
<property name="keystore" location="${topoJarPath}/${keystoreName}" />
<property name="keypass" value="isoft123" />
<property name="keysize" value="1024" />
<property name="alias" value="isoft" />
<property name="validity" value="365" />
<property name="jarsigner" value="${env.JAVA_HOME}/bin/jarsigner.exe" />
<target name="build">
<mkdir dir="${destDir}" />
<javac failοnerrοr="false" encoding="utf-8" nowarn="true" debug="true" optimize="on" srcdir="${src}" destdir="${destDir}" includes="*.java">
<classpath>
<fileset dir="${classPath}">
<include name="**/*.jar" />
</fileset>
</classpath>
</javac>
</target>
<!-- 构建JAR文件 -->
<target name="makeJar" depends="build">
<copy todir="${destDir}/classes">
<fileset dir="${src}">
<include name="*.*" />
</fileset>
</copy>
<jar jarfile="${topoJarPath}/${jarName}" basedir="${destDir}" includes="*.*">
</jar>
</target>
<!-- 创建证书 -->
<target name="genericKey">
<echo message="genkey..." />
<delete>
<fileset dir="${topoJarPath}">
<include name="${keystoreName}" />
</fileset>
</delete>
<genkey keystore="${keystore}" storepass="${storepass}" alias="${alias}" keypass="${keypass}"
keysize="${keysize}" validity="${validity}"
dname="CN=Ant Group, OU=Jakarta Division, O=Apache.org, C=ZH">
</genkey>
<echo message="genkey... done" />
</target>
<!-- 对JAR进行数字签名 -->
<target name="signJar" depends="makeJar, genericKey">
<echo message="jarsigner..." />
<!-- 下边这种方式也可以 -->
<!--
<exec executable="${jarsigner}" dir="${topoJarPath}">
<arg line="-keystore" />
<arg value="${keystore}" />
<arg line="-storepass" />
<arg value="${storepass}" />
<arg line="${jarName}" />
<arg line="${alias}" />
</exec>
-->
<signjar keystore="${keystore}" storepass="${storepass}" jar="${jarName}" alias="${alias}">
<fileset dir="${topoJarPath}">
<include name="${jarName}" />
</fileset>
</signjar>
<echo message="jarsigner... done." />
</target>
<!-- 部署数字签名后的JAR到TOMCAT相应目录 -->
<property name="deployJarPath" location="${env.TOMCAT_HOME}/webapps/QT_ESM/topo/lib" />
<!-- 部署JAR文件 -->
<target name="deployTopoJar" depends="signJar">
<copy todir="${src}" file="${topoJarPath}/${jarName}">
</copy>
</target>
</project>