在Eclipse的Web项目中java里面使用ant进行数字签名步骤详解

话不多说,我们先建立一个文件build.properties。这个文件是用于配置一些常用的变量的
#publicinfo
module
= test
JAVA_HOME
= D:/Java/JDK1 .6
keystore
= Yoinn.store
#别名
alias
= Yoinn
#keystore密码
storepass
= password
#主密码
keypass
= password
#证书文件名
cer.file
= NeuLion.cer
#dnameinfo
#dname{CN
= 1 , OU = 1 , O = 1 , L = 1 , ST = 1 , C = 1 }
#名字与姓氏
dname.CN
= name
#组织单位名称
dname.OU
= organizationUnitName
#组织名称
dname.O
= organizationName
#所在的城市或区域名称
dname.L
= DL
#所在的州或省份名称
dname.ST
= LN
#该单位的两字母国家代码
dname.C
= CN
#aboutkeytool
keytool
= keytool.exe
keytool.home
= ${JAVA_HOME}/bin
#aboutjarsigner
jarsigner
= jarsigner.exe
jarsigner.home
= ${JAVA_HOME}/bin
好了,就这么简单,我们做第二步,制作一个Ant构建文件build.xml
<? xmlversion="1.0" ?>
<!-- Copyright(c)2004byYoinn.AllRightsReserved. -->
< project name ="JarSignerBuilder" default ="main" basedir ="." >
<!-- setglobalpropertiesforthisbuild -->
< property file ="build.properties" />
< property name ="libDir" value ="WebRootWEB-INFlib" />
< property name ="deploy.dir" value ="${basedir}" />
<!-- ********************************************************* -->
<!-- 名字与姓氏 -->
< property name ="commonName" value ="${dname.CN}" />
<!-- 组织单位名称 -->
< property name ="organizationUnit" value ="${dname.OU}" />
<!-- 组织名称 -->
< property name ="organizationName" value ="${dname.O}" />
<!-- 所在的城市或区域名称 -->
< property name ="localityName" value ="${dname.L}" />
<!-- 所在的州或省份名称 -->
< property name ="stateName" value ="${dname.ST}" />
<!-- 该单位的两字母国家代码 -->
< property name ="country" value ="${dname.C}" />
<!-- dname{CN=1,OU=1,O=1,L=1,ST=1,C=1}? -->
< property name ="dname" value ="CN=${commonName},OU=${organizationUnit},O=${organizationName},L=${localityName},ST=${stateName},C=${country}" />
<!-- ********************************************************* -->

< property name ="src.dir" value ="src" />
< property name ="build.dir" value ="build" />
< property name ="classes.dir" value ="${build.dir}/classes" />
< property name ="jar.dir" value ="${build.dir}/jar" />
< property name ="jarSignerBuilder" value ="${jar.dir}/${ant.project.name}.jar" />

< property name ="main-class" value ="ZUpload" />

< target name ="clean" >
< delete dir ="${build.dir}" />
</ target >

< path id ="build.classpath" >
< fileset dir ="${libDir}" >
< include name ="**/*.jar" />
</ fileset >
</ path >

< target name ="compile" >
< mkdir dir ="${classes.dir}" />
< javac srcdir ="${src.dir}" destdir ="${classes.dir}" >
< classpath refid ="build.classpath" />
</ javac >
</ target >

< target name ="jar" depends ="compile" >
< mkdir dir ="${jar.dir}" />
< jar destfile ="${jarSignerBuilder}" basedir ="${classes.dir}" >
< manifest >
< attribute name ="Main-Class" value ="${main-class}" />
< attribute name ="Built-By" value ="Ken.xu" />
< attribute name ="Company" value ="TXKJ" />
</ manifest >

</ jar >
</ target >

< target name ="run" depends ="jar" >
< java jar ="${jar.dir}/${ant.project.name}.jar" fork ="true" />
</ target >

< target name ="clean-build" depends ="clean,jar" />

< target name ="main2" depends ="clean,run" />
<!-- 打包Jar2,无用的 -->
< target name ="jar2" >
< jar destfile ="${distDir}web.jar" basedir ="${buildDir}" >
< manifest >
< attribute name ="Built-By" value ="Ken.xu" />
< attribute name ="Company" value ="TXKJ" />
</ manifest >
< zipfileset src ="${libDir}/common.jar" />
< zipfileset src ="${libDir}/classes12.jar" />
< zipfileset src ="${libDir}/commons-collections-3.1.jar" />
< zipfileset src ="${libDir}/commons-lang-2.1.jar" />
</ jar >
< jar destfile ="${distDir}/web-src.jar" basedir ="${srcDir}" />
</ target >

< target name ="keytool" depends ="clean-build" >
< echo message ="keytool..." />
< echo message ="dname={${dname}}" />
< exec dir ="${deploy.dir}" executable ="${keytool.home}/${keytool}" os ="${os.name}" >
< arg line ="-genkey" />
< arg line ="-dname${dname}" />
< arg line ="-keystore${keystore}" />
< arg line ="-alias${alias}" />
< arg line ="-storepass${storepass}" />
< arg line ="-keypass${keypass}" />
</ exec >
< exec dir ="${deploy.dir}" executable ="${keytool.home}/${keytool}" os ="${os.name}" >
< arg line ="-export" />
< arg line ="-keystore${keystore}" />
< arg line ="-storepass${storepass}" />
< arg line ="-alias${alias}" />
< arg line ="-file${cer.file}" />
</ exec >
< echo message ="keytool...done." />
</ target >

< target name ="jarsigner" depends ="keytool" >
<!-- Signthejar -->
< echo message ="jarsigner..." />
< exec dir ="${deploy.dir}" executable ="${jarsigner.home}/${jarsigner}" os ="${os.name}" >
< arg line ="-keystore${keystore}" />
< arg line ="-storepass${storepass}" />
< arg line ="${jarSignerBuilder}" />
< arg line ="${alias}" />
</ exec >
< echo message ="jarsigner...done." />
</ target >

< target name ="main" depends ="jarsigner" >
< delete file ="${keystore}" />
< delete file ="${cer.file}" />
< delete dir ="${classes.dir}" />
</ target >
</ project >

好了,直接执行就可以了。
哦,我的目录结构是这样的
D:Eclipseworkspace_3.3ZUpload的目录
build.propertiesbuild.xml[src][WebRoot]
D:Eclipseworkspace_3.3ZUploadsrc的目录
[apache]ZUpload.java
D:Eclipseworkspace_3.3ZUploadsrcapache est的目录
MyTest.java
D:Eclipseworkspace_3.3ZUploadWebRoot的目录
index.jsp[WEB-INF]
D:Eclipseworkspace_3.3ZUploadWebRootWEB-INF的目录
[classes][lib]web.xml
D:Eclipseworkspace_3.3ZUploadWebRootWEB-INFlib的目录
ant.jar

您按这个看看就了解了。;)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值