NSIS使用ant编译

说明

目前的项目需要提交至Jenkins,因此需要做两个操作

  1. 编译java项目成为一个可安装的exe文件
  2. 编译Ant脚本实现Jenkins编译
    这里主要记录使用ant脚本编译的事情

下载需要的软件

我这次需要的软件主要有以下几个:

  1. Apache Ant
  2. NSIS
  3. NSIS插件nsisant
    软件可以在官网上自行下载。

开始

1. 安装配置环境

安装NSIS和Apache Ant,并配置对应的环境变量(过程不再赘述)

2. 编译Ant脚本

Test-installer-build.xml

<project name="Test-installer-build" default="build.main" basedir=".">
	<description>
	       **************************************
	</description>
	<!-- ***************** Properties ***************** -->
	<property file="installer.properties"/>

	<!-- *************** main ************************-->
	<target name="build.main">
		<antcall target="build.init" />
		<antcall target="build.clear" />
		<antcall target="build.mkdir" />
		<antcall target="build.installer" />
		<antcall target="installer.staging" />
		<antcall target="installer.zip" />
	</target>
	

	<!-- ***************** Initialize build Timestamp ***************** -->
	<target name="build.init">
		<tstamp>
			<format property="build.time" pattern="hh:mm:ss"/>
			<format property="build.date" pattern="yyyyMMddHHmmss"/>
			<format property="build.datetime" pattern="MMMM-d-yyyy HHmm"/>
		</tstamp>
	</target>
	
	<!-- ***************** Initialize build Timestamp ***************** -->
	<target name="build.clear" depends="build.init">
		<delete dir="${build.deployment.dir}" includeemptydirs="true"/>
	</target>
	
	<!-- ***************** Initialize build Timestamp ***************** -->
	<target name="build.mkdir" depends="build.init, build.clear">
		<mkdir dir="${build.deployment.dir}"> </mkdir>
	</target>
	
	<target name="build.installer" depends="build.init">
		<taskdef name="nsis" classname="com.danielreese.nsisant.Task">
			<classpath location="${Test.installer.dir}/nsis/nsisant-1.3.jar" /> 
		</taskdef>
		<nsis script="${Test.installer.dir}/Test.nsi" />
	</target>
	
	<!-- Create the Installer Staging -->
	<target name="installer.staging" depends="build.init">
		<mkdir dir="${installer.staging.dir}/${build.datetime}"/>
		<copy todir="${installer.staging.dir}/${build.datetime}">
			<fileset dir="${Test.dir}/deploy">
				<include name="Setup.exe"/>
			</fileset>	
		</copy>
	</target>
	
	<!-- ZIP up the Installer -->
	<target name="installer.zip" depends="installer.staging">
		<zip destfile="${installer.staging.dir}/${installer.name}_${installer.version}_${build.datetime}.zip"
	       	 basedir="${installer.staging.dir}/${build.datetime}"/>
	</target>
</project>

installer.properties

## {basedir} start from the folder where xml is located ##
root.dir=${basedir}/../../../../
test.dir=${root.dir}/Test
test.installer.dir=${test.dir}/deploy
installer.staging.dir=${build.deployment.dir}/Test-Installer
installer.name=Test
installer.version=Test-2.4.1
build.deployment.dir = ${root.dir}/build
关键配置说明
<target name="build.installer" depends="build.init">
		<taskdef name="nsis" classname="com.danielreese.nsisant.Task">
			<classpath location="${Test.installer.dir}/nsis/nsisant-1.3.jar" /> 
		</taskdef>
		<nsis script="${Test.installer.dir}/Test.nsi" />
</target>

在这里,nsisant-1.3.jar可以放置在任何路径下,只要配置的时候location可以找到即可。
Test.nsi同理。
建议配置的时候放在一起,方便后续人员维护。

3.配置其他文件

3.1 拷贝NSIS

安装NSIS后,将NSIS的安装文件copy至java工程中。
原始安装的目录
copy到工程中的目录
建议全部copy(只有7M左右),使用ant编译的时候需要使用/bin/makensis.exe,同时需要makensis.exe本身的一些配置文件。另外,本地验证Test.nsi是否存在错误可以直接使用NSIS.exe。

3.2 配置文件路径

需要将已经编译好的文件Test-installer-build.xml和installer.properties放置在/bin下面。
在这里插入图片描述
也可以自行修改配置,将这两个文件放置在别的路径下(需要修改并重新编译nsisant-1.3.jar,感兴趣的同学可以尝试一下。)

3.3 本地编译

建议在上环境之前先本地编译,如果有错误可以及时修改
编译命令如下(需要根据自己的情况适当修改):

##{Ant_Home}/bin/ant.bat -file {ant_script} {ant_main}
..\..\..\..\Platform\tools\apache-ant-1.6.2\bin\ant.bat -file Test-installer-build.xml build.main

4. 配置环境

本地测试成功,就可以上环境了。这一步大家根据自身的配置在环境上配置就可以了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值