<?xml version="1.0" encoding="UTF-8"?>
<project name="MakeTopoJar" default="deployTopoJar" basedir=".">
<!-- 设定系统环境变量名为env,以备下边使用 -->
<property environment="env"/>
<!-- 设定构建JAR时的路径与文件名参数,注意:下边的属性设定时,如果属性代表路径,则为了适应相应操作系统可用location代替value;
如果属性代表文件名,则必须用value. -->
<property name="src" value="./src" />
<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}/topo/lib"/>
<property name="jarName" value="topo.jar"/>
<!-- 数字签名用的密钥信息参数 -->
<property name="keystoreName" value="esmkeystore"/>
<property name="storepass" value="esmsystem"/>
<property name="keystore" location="${topoJarPath}/${keystoreName}"/>
<property name="keypass" value="esmsystem"/>
<property name="keysize" value="1024"/>
<property name="alias" value="esmkey"/>
<property name="validity" value="365"/>
<property name="jarsigner" value="${env.JAVA_HOME}/bin/jarsigner.exe"/>
<!-- 部署数字签名后的JAR到TOMCAT相应目录 -->
<property name="deployJarPath" location="${env.TOMCAT_HOME}/webapps/QT_ESM/topo/lib"/>
<target name="build">
<mkdir dir="${destDir}" />
<javac failonerror="false" encoding="utf-8" nowarn="true" debug="true" optimize="on" srcdir="${src}"
destdir="${destDir}" includes="com/quantanetwork/esm/**/*.java, org/acegisecurity/ui/webapp/**/*.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="com/quantanetwork/esm/ui/topo/show/icons/*.*" />
</fileset>
</copy>
<jar jarfile="${topoJarPath}/${jarName}" basedir="${destDir}"
includes="com/quantanetwork/esm/logic/topo/**, com/quantanetwork/esm/ui/topo/**">
</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}"
verbose="true" 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="esmsystem" jar="${jarName}" alias="${alias}">
<fileset dir="${topoJarPath}">
<include name="${jarName}" />
</fileset>
</signjar-->
<echo message="jarsigner... done." />
</target>
<!-- 部署JAR文件 -->
<target name="deployTopoJar" depends="signJar">
<copy todir="${deployJarPath}" file="${topoJarPath}/${jarName}">
</copy>
</target>
</project>
今天总结下本人一直使用的在J2ME,BlackBerry和Android平台下签名方法。
J2ME:
1.生成key store. 用JAVA_HOME\bin目录下"keytool.exe"命令生成。
E.g.
D:\Java\jdk1.5.0_15\bin>keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -validity 100002.生成key store后还得修改下证书,必须需要手机厂商承认的证书,这就得去花钱买了,Verisign和Thawte都能买到证书, 然后进行签名。3.本人一般都用ANTENNA ANT生成J2ME程序,所以签名相对简单些,直接调用"Wtksign"任务来进行数字签名。
E.g.
D:\Java\jdk1.5.0_15\bin>jarsigner -verbose -keystore my-release-key.keystore my_application.apk alias_name--------------------------------------------------------------------------------BlackBerry:
黑莓比较麻烦些,而且对于中国用户来说很不方便。首先,你得去购买个签名账户,然后才能进行
签名。据说好像不对中国用户提供,我也没有研究过,都是公司买个签名。购买后RIM会发给你3个.csi文件,分别对应不同的API使用。.csi文件生成key之后就不能在别的电脑使用了,这点也不爽。
假设你真的购买到.csi文件并且生成完key后,调用BB_HOME\bin目录下的SignatureTool.jar文件,选择你需要签名的程序最后点Request就进行签名了,如果成功了在Status一栏里会看到Signed字样。
好了,先到这吧。回家做饭去了
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/winsonx/archive/2009/04/28/4133640.aspx
分享到:
相关推荐
Ant是Apache软件基金会的一个开放源代码项目,它是一个基于Java的构建工具,类似于Unix的make,但更为跨平台。 Ant以其XML格式的构建文件(build.xml)而著名,这些文件定义了一系列的任务,包括编译、打包、测试、...
在Java开发中,Apache Ant是一个常用的构建工具,它允许开发者通过XML配置文件来定义构建任务。在Ant中发送电子邮件是一项常见的需求,特别是在自动化测试或部署过程中报告结果时。要使用Ant发送邮件,我们需要依赖...
在.NET框架中,使用C#语言开发备忘录应用程序是一项常见的任务,这涉及到构建一个用户友好的界面,用于记录、存储和提醒用户重要事项。C#语言的强大特性和.NET Framework提供的丰富类库使得这种应用的开发变得高效且...
【Android 备忘录源码】是一个用于学习和理解Android应用程序开发的实例,特别是关注备忘录类应用的实现。这个源码可以帮助开发者深入理解如何在Android平台上构建一个功能完善的记事本应用。以下是该源码中涉及的...
Ant是Apache软件基金会的一个开放源代码项目,它是一个Java库和命令行工具,其任务是驱动构建过程。Ant以其XML格式的构建文件而闻名,这些文件定义了如何编译、打包和测试Java应用程序。在本案例中,我们讨论的是...
默认情况下,JAR文件被视为一个类路径元素,其内部的结构被保留,这意味着你可以通过相对路径访问到资源。 1. 使用`ClassLoader`加载资源: Java的`ClassLoader`是用于加载类和资源的核心接口。你可以通过`Thread....
总的来说,"AntAdvanceDemo"项目提供了一个学习和实践ANT工具的实例,通过这个项目,开发者可以了解到ANT在Eclipse环境下的具体使用方式,以及如何通过ANT脚本来管理和构建复杂的Java项目。通过深入研究此项目,将有...
Ant是Apache软件基金会开发的一个Java项目构建工具,它的设计目标是简化项目构建过程,提供一种跨平台的解决方案。Ant的主要优点在于其灵活性和可扩展性,通过自定义任务和宏定义,可以实现各种复杂的构建逻辑。 二...
开发者可以使用它来生成一个本地测试用的证书,这个证书可以用来对代码进行签名。它支持多种证书属性的配置,如证书主题、有效期、公钥算法等。 2. **cert2spc.exe**: 这个工具用于将证书转换成标准的证书规范...
Ant是Java开发中的一个构建工具,由Apache软件基金会开发,它以其XML为基础的构建文件(build.xml)而闻名,用于自动化Java项目的构建、编译、测试和部署等任务。Ant的设计理念是“简单就是美”,它提供了一个灵活的...
在Java开发中,Ant是一个非常重要的构建工具,它用于自动化构建过程,如编译、打包、测试等。本篇文章将详细介绍如何使用Ant工具将Java工程打包成可执行的JAR文件。 首先,我们需要了解Ant的安装和配置。Ant可以在...
Ant是Apache软件基金会的一个开源项目,它是一款Java构建工具,主要负责自动化构建Java应用程序。Ant以其XML为基础的构建文件(通常命名为build.xml)为特点,允许开发者定义编译、打包、测试等构建任务。本指南将...
Apache Ant 是一个广泛使用的Java构建工具,它遵循XML格式的构建文件来编译、打包、测试和部署Java项目。在“apache-ant-1.8.2-src.zip”这个压缩包中,包含了Apache Ant 1.8.2版本的源代码,这为我们深入理解其内部...
这是我做的javaweb开发中用到的各种jar文件,因为很多人不知道从哪下载,用哪一些,资源里面我都标好了类别(ssm)这是我做的javaweb开发中用到的各种jar文件,因为很多人不知道从哪下载,用哪一些,资源里面我都标...
ant.jar 在java开发中用到,看到好多人要很多分,我就放了上去。只要1分,谢谢
Ant是Apache软件基金会下的一个Java项目,主要用于构建Java应用程序。它是基于XML的构建工具,能够自动化编译、打包、测试等开发过程,极大地简化了Java项目的构建流程。本指南将深入探讨Ant工具的使用,帮助开发者...
例如,你可以有一个"compile"目标用于编译源代码,一个"jar"目标用于生成JAR文件,以及一个"dist"目标用于打包整个应用。 2. patterns.txt 在Ant中,`patterns`经常用于指定文件或目录的匹配规则,例如在`<copy>`或...
Apache Ant 是一个开源的Java构建工具,它被广泛用于自动化Java项目的构建、编译、测试和部署过程。Ant以其基于XML的任务配置文件(build.xml)著称,这些文件定义了构建过程的步骤和依赖关系。本文将深入探讨Ant的...
JAR文件本质上是一个ZIP格式的压缩文件,包含了Java应用程序或库的所有组件,使得开发者能够更有效地管理和使用Java资源。以下是一些关于Java Web开发中JAR包的重要知识点: 1. **JAR文件结构**: - `META-INF`...
Ant的核心是各种任务,它们是Ant执行的具体操作,如`javac`用于编译Java源代码,`jar`用于打包类文件到JAR文件,`copy`用于复制文件,`delete`用于删除文件或目录等。开发者可以根据需要编写自定义任务,扩展Ant的...