java 的swing 项目,需要自动更新和便于build, deploy. 所以,需要一套比较方便的集成命令来完成此项工作。在此,基于netbeans 创建swing 项目后,在原项目上增加一些配置即可。
1. 首先 安装 Inno Setup 5 或者更高版本,ant 命令会调用该工具来打包jre 和相关的jar 包,生成native exe. 解压安装后,将其安装目录拷贝到 项目的根目录下, 如 aaaa/innosetup5
2. 将 ant 的相关jar 包 也拷贝到根目录下 的一个文件夹内, 如 aaaa/antlib
3. 制作一个批处理文件 generate.bat
@echo off
setlocal ENABLEDELAYEDEXPANSION
rem ***************************************************
rem JAVA_HOME 设置,如果JAVA_HOME 没设置才需要手动指定
rem ***************************************************
@if defined JAVA_HOME goto javahomedefined
SET JAVA_HOME=C:/Program Files/Java/jdk1.8.0_25
:javahomedefined
rem set the path to include the bin dir
PATH=%JAVA_HOME%/bin;%PATH%
rem ant 的库就设置于此,集成ant 进来是为了方便机器上没有安装并配置ant.
SET CLASSPATH=.;%JAVA_HOME%/jre/lib/rt.jar;%JAVA_HOME%/lib/tools.jar;antlib/*;
rem 这里设置了 inno setup 的目录,将其加入path ,在 ant 执行的时候 会有相关target 来执行ISCC
set Path=%PATH%;%~dp0\InnoSetup5
echo ClassPath=%CLASSPATH%
rem netbeans 建立的项目,本身就是基于ant 的,调用根目录下的build.xml 即可.
SET ANT_BUILD_FILE=build.xml
rem build-native 是netbeans 8.0.2 建立swing 项目后,生成的一个target,该target 做了 清理 打包 生成native exe 的一切操作。
SET TARGET=build-native
java -classpath "%CLASSPATH%" org.apache.tools.ant.Main -buildfile "%ANT_BUILD_FILE%" -Djar.archive.disabled=true -Dnative.bundling.type=exe %TARGET%
pause
这样就完成了, 运行generate.bat 就能生成 对应的exe。该exe 可以部署在干净环境下直接运行,而且在任务列表中进程名不再是 java 了,可以基于此继续开发自动更新。
本文介绍了如何基于NetBeans创建的Swing项目,通过安装InnoSetup5和配置Ant,实现自动更新和部署。通过制作批处理文件generate.bat,可以在不依赖特定开发环境的情况下,生成适用于不同平台的exe文件。
2024

被折叠的 条评论
为什么被折叠?



