一个生成数字签名和Jar包的Ant文件

打开好久好久没打开过的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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
生成一个jar包可以通过以下步骤进行: 1. 首先,你需要将你的源代码编译成可执行的字节码文件。使用rk3568编译器编译你的Java源代码,确保没有错误或警告。 2. 然后,将编译后的字节码文件打包成一个jar文件。在命令行中使用jar命令来完成这个步骤。打开命令行终端,输入以下命令: ``` jar cvf yourJarFileName.jar *.class ``` 其中,yourJarFileName.jar是你想要生成jar文件的名称。这个命令将会在当前目录下生成一个包含所有编译后字节码文件jar文件。 3. 如果你的代码中使用了外部的依赖库,那么你需要将这些依赖库也包含在你的jar文件中。有两种方法可以做到这一点: - 将依赖库的jar文件与你的源代码一起打包。首先将依赖库的jar文件与你的字节码文件放在同一个目录下,然后执行以下命令: ``` jar cvf yourJarFileName.jar *.class dependency1.jar dependency2.jar ... ``` 这个命令将会在生成jar文件中包含你的字节码文件和依赖库的jar文件。 - 将依赖库的源代码编译成字节码文件,并将其与你的字节码文件一起打包。这样你的jar文件将只包含字节码文件,而不是依赖库的jar文件。你可以使用rk3568编译器编译依赖库的源代码,并将得到的字节码文件放在与你的字节码文件相同的目录下。然后执行以下命令来打包: ``` jar cvf yourJarFileName.jar *.class ``` 4. 在生成jar文件之后,你可以在其他项目中引用它。可以将这个jar文件复制到其他项目的classpath下,或者通过构建工具(如Maven)将其作为依赖项添加到项目中。 总结起来,生成一个jar包的步骤是:编译源代码,打包字节码文件和依赖库(如果有的话),最后将生成jar文件用于其他项目中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值