`

launch4j

阅读更多
launch4j是Java应用程序的Windows本地可执行文件 (.exe) 封装器。提供了本地弹出屏幕,应用程序图标,JRE搜索或使用绑定的JRE,启动失败反馈,传递命令行参数,ant脚本。
Launch4j是一个开源的安装程序,将您的jar文件打包成操作系统的本地可执行文件,支持Windows, MacOS,Linux和Solaris。对于JRE,您可以嵌入在安装文件中,也可以在安装时提示用户下载正确的JRE版本。Launch4j更加吸引人的地方是,在启动Java程序之前或者之中,支持闪屏(splash screen)。
 
案例:

1.满足于Jar吗?

   写了个java桌面程序,封装成了.jar文件可以双击运行。满足于此吗?这个程序看起来不像一个Windows 应用程序。首先,进程名称是javaw.exe,而不是你自定义的进程名称。没有图标。不是.exe可执行文件,用户开始看到会犹豫,这玩意能不能运行?

2.封装jar 成 exe

   先把jar做成exe程序,有很多开源软件可供选择,这里推荐launch4j。网上拷贝一份配置文件,改改,就可以了。下面是简单的launch4j配置文件:

Xml代码  收藏代码
  1. <launch4jConfig>  
  2.   <headerType>gui</headerType>  
  3. <!--gui程序,若填console,程序运行时,会有一个命令行跟着启动;即使是后台应用程序,也建议用gui-->  
  4.   <outfile>a.exe</outfile>  
  5. <!--输出文件,不用多说,这里指定文件名即可-->  
  6.   <jar>lib/xx.jar</jar>  
  7. <!--很重要,你的main函数在那个jar包中-->  
  8.   <dontWrapJar>false</dontWrapJar>  
  9. <!--这里选false,将jar封装成exe二进制格式-->  
  10.   <downloadUrl>http://java.com/download</downloadUrl>  
  11. <!--如果机器上没有jre,提示用户到这里去下载-->  
  12.   <icon>xx.ico</icon>  
  13. <!--支持程序图标-->    
  14. <customProcName>true</customProcName>  
  15.   <classPath>  
  16.     <mainClass>MainClass</mainClass>  
  17.     <cp>lib/*.jar</cp>  
  18. <!--这个很重要,指定classpath-->  
  19.   </classPath>  
  20.   <singleInstance>  
  21.     <mutexName>xx</mutexName>  
  22.     <windowTitle>text</windowTitle>  
  23.   </singleInstance>   
  24. <!--是否允许多实例运行-->  
  25.   <jre>  
  26.     <minVersion>1.6.0</minVersion>  
  27.     <maxVersion>1.7.0</maxVersion>  
  28.     <jdkPreference>preferJre</jdkPreference>  
  29. <!--指定依赖的jre环境,最低,最高版本-->  
  30.   </jre>  
  31. </launch4jConfig>  

 launch4j支持以ant任务的方式执行封装任务,方便自动化。下面是简单的ant任务配置:

Xml代码  收藏代码
  1. <property name="launch4j.dir" location="path-to-launch4j/" />  
  2.     <target name="exe" depends="junit">  
  3.         <taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask" classpath="${launch4j.dir}/launch4j.jar  
  4.                     :${launch4j.dir}/lib/xstream.jar" />  
  5.         <launch4j configFile="launch4j.xml" />  
  6.     </target>  

 3.已经是exe文件了,不过是绿色软件,有时候需要做一个安装程序setup.exe,为程序执行准备环境,如制作成 windows 服务开机运行,或者为用户创建快捷方式等等。这里推荐功能强大的InnoSetup,自己写一个脚本,自动完成封装。下面是简单的Inno Script脚本文件:

 

Cpp代码  收藏代码
  1. ; Script generated by the Inno Setup Script Wizard.  
  2. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!  
  3.   
  4. #define MyAppName "A Name"  
  5. #define MyAppVersion "1.0"  
  6. #define MyAppPublisher "xx, Inc."  
  7. #define MyAppURL "http://www.xxx.com/"  
  8. #define MyAppExeName "xxx.exe"  
  9.   
  10. [Setup]  
  11. ; NOTE: The value of AppId uniquely identifies this application.  
  12. ; Do not use the same AppId value in installers for other applications.  
  13. ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)  
  14. AppId={{id-generated}  
  15. AppName={#MyAppName}  
  16. AppVersion={#MyAppVersion}  
  17. ;AppVerName={#MyAppName} {#MyAppVersion}  
  18. AppPublisher={#MyAppPublisher}  
  19. AppPublisherURL={#MyAppURL}  
  20. AppSupportURL={#MyAppURL}  
  21. AppUpdatesURL={#MyAppURL}  
  22. DefaultDirName={pf}\{#MyAppName}  
  23. DefaultGroupName={#MyAppName}  
  24. OutputBaseFilename=setup  
  25. Compression=lzma  
  26. SolidCompression=yes  
  27.   
  28. [Languages]  
  29. Name: "english"; MessagesFile: "compiler:Default.isl"  
  30.   
  31. [Tasks]  
  32. Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked  
  33.   
  34. [Files]  
  35. Source: "xx.exe"; DestDir: "{app}"; Flags: ignoreversion  
  36. Source: "xx.xml"; DestDir: "{app}"; Flags: ignoreversion  
  37. Source: "lib\*"; DestDir: "{app}\lib"; Flags: ignoreversion recursesubdirs createallsubdirs  
  38. ; NOTE: Don't use "Flags: ignoreversion" on any shared system files  
  39.   
  40. [Icons]  
  41. ;这里配置快捷方式  
  42. Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"  
  43. Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"  
  44. Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon  
  45.   
  46. [Run]  
  47. Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent  

 

上面的文件挺复杂的?我也没有解释,呵呵,因为上面的内容基本上是InnoSetup自动生成的,在InnoSetup Compiler里,新建iss文件,会有向导一步一步提示。OK,完成了,马上跑一下setup.exe,现在,你的java程序,已经变得很专业了。

 

案例 出处:http://www.iteye.com/topic/1119829

 

分享到:
评论

相关推荐

    Launch4j_3.9 老朽痴拙汉化版(Java打包生成器)

    Launch4j是一款强大的工具,专为Java开发者设计,用于将JAR文件转换为Windows平台上的可执行文件(exe)。此“老朽痴拙汉化版”是原版Launch4j的中文版本,使得国内用户在使用过程中能更方便地理解和操作。通过这个...

    launch4j的用法,图文并茂,一学就会

    Launch4j是一款强大的Java应用程序封装工具,它可以帮助开发者将Java应用程序包装成Windows可执行文件(.exe),使得非Java环境的用户也能轻松运行程序。在本文中,我们将通过十步教程,结合图文并茂的方式,教你...

    Launch4j 把java jar包转化为exe文件 可脱离jre 内附详细文档

    Launch4j是一款强大的工具,专为Java开发者设计,可以将Java的JAR文件转换成Windows平台下的可执行程序(EXE)。这个转换过程使得Java应用程序能够脱离Java运行环境(JRE)独立运行,大大提高了软件分发的便利性。...

    launch4j-3.12-win32

    《使用launch4j将Java程序转化为可执行exe文件》 在IT行业中,开发跨平台的应用程序是常见的需求,而Java语言凭借其“一次编写,到处运行”的特性深受开发者喜爱。然而,对于Windows用户来说,他们更习惯于直接运行...

    利用开源软件Launch4j把java 桌面应用程序打包成exe

    为了使Java应用能够像普通的.exe可执行文件一样在Windows上直接运行,我们可以利用开源工具Launch4j来实现这个目标。Launch4j是一个强大的工具,它可以将Java应用程序封装成Windows可执行文件,同时提供了一些额外的...

    Launch4j 教程——JAR应用程序生成exe

    ### Launch4j 教程——JAR应用程序生成exe #### 一、介绍 Launch4j 是一款用于将 Java 应用程序(JAR 文件)封装为 Windows 本地可执行文件 (.exe) 的工具。它提供了丰富的功能,如本地弹出屏幕、应用程序图标定制...

    launch4j JAR包打包成WINDOW可执行EXE工具

    【标题】:“launch4j:将Java JAR转换为Windows可执行EXE的工具” 【内容】: 在软件开发过程中,尤其是Java应用开发,我们经常需要将编译后的JAR文件转换为Windows操作系统下的可执行文件(EXE)。launch4j就是...

    launch4j.jar.zip

    Launch4j是一款流行的开源工具,专门用于将Java的JAR文件转换为可执行的Windows程序(EXE文件)。这个工具的主要优点在于它提供了一种方便的方式,使得Java应用程序能够更轻松地在没有Java运行环境的计算机上运行。...

    launch4j-3.50-win32.exe

    launch4j-3.50-win32.exe

    java打包工具launch4j-3.0.1

    Launch4j是一个强大的Java应用程序包装工具,主要用于将Java的JAR文件转换为Windows平台下的可执行文件(EXE)。这个工具对于开发者来说非常实用,因为它允许用户无需安装Java环境即可运行Java程序,大大提升了应用...

    launch4j教程和软件

    launch4j 可以用来将Java应用程序转成Windows本地可执行文件 (.exe)。提供了本地弹出屏幕,应用程序图标,JRE搜索或使用绑定的JRE,启动失败反馈,传递命令行参数,ANT编译脚本等功能。

    Java封装器-launch4j

    launch4j是Java应用程序的Windows本地可执行文件 (.exe) 封装器。Launch4j是一个开源的安装程序,将您的jar文件打包成操作系统的本地可执行文件,支持Windows, MacOS,Linux和Solaris。对于JRE,您可以嵌入在安装文件...

    launch4j java exe制作包工具

    launch4j是Java应用程序的Windows本地可执行文件 (.exe) 封装器。提供了本地弹出屏幕,应用程序图标,JRE搜索或使用绑定的JRE,启动失败反馈,传递命令行参数,ant脚本。  Launch4j是一个开源的安装程序,将您的jar...

    launch4j打包程序

    "launch4j打包程序"是一种在Java开发领域中广泛使用的工具,它允许开发者将Java应用程序(通常以.jar格式存在)转换为Windows平台上的可执行文件(.exe)。这个过程被称为“封装”或“打包”,目的是为了让非Java...

    launch4j jar文件打包

    Launch4j是一个开源的安装程序,将您的jar文件打包成操作系统的本地可执行文件,支持Windows, MacOS,Linux和Solaris。对于JRE,您可以嵌入在安装文件中,也可以在安装时提示用户下载正确的JRE版本。Launch4j更加吸引...

    launch4j-3.0.1-win32.exe

    launch4j-3.0.1-win32.exe 不错的jar打包exe的程序。

    Launch4j-3.12.7z

    将jar打包成exe的工具,支持window和linux平台打包。压缩包中有 window和linux两个平台的工具。launch4j-3.12-linux-x64.tgz + launch4j-3.12-win32.zip

    launch4j-3.12.zip

    《使用launch4j将Java程序打包为.exe可执行文件》 在IT行业中,Java作为一种跨平台的编程语言,被广泛应用于各种系统开发。然而,对于Windows用户来说,他们更习惯于执行.exe格式的可执行文件。为了满足这种需求,...

    Launch4j程序+教程

    Launch4j是一款强大的工具,主要用于将Java的JAR文件封装成Windows平台下的可执行程序(EXE)。这个过程称为“封装”或“包装”,目的是为了方便非Java开发人员或者普通用户运行基于Java的应用程序,无需事先安装...

    Java打包工具Launch4j.zip

    Launch4j是一款强大的Java应用程序包装工具,它允许开发者将Java的JAR文件转换为可执行的Windows EXE文件。这个转换过程使得Java程序对于非Java环境的用户更加友好,因为它们可以直接双击运行,而无需先安装Java运行...

Global site tag (gtag.js) - Google Analytics