如何在JAVA中部署GUI程序

运行Java程序(SWING或SWT的桌面程序)可以直接执行。类文件或所有。类文件和其他相关文件被压缩到。Jar文件,然后使用javaw -jar my.jar运行程序(其中my.jar是一个jar文件名,可以是任何指定的jar文件)。但是在windows下,用户习惯直接运行一个exe来执行程序。网上有很多程序可以把我的. jar或者。类文件直接转换成exe文件。但是很多都是罐子或者。不方便把类文件放入exe。有些工具,比如javalauncher,可以用一个exe程序(用C语言写的)来调用jar文件。但是有时候在运行程序之间需要做一些其他的工具,比如在客户端从服务器动态下载程序的最新版本。因此,本文将使用delphi2009实现一个可以调用jar文件的简单程序,读者可以随时扩展这个程序。本文还提供了该程序的源代码和exe文件。

用delphi构建VCL项目。本程序中不需要表单,因此可以删除默认生成的表单。实际上,我们只需要通过javaw命令调用ShellExecute方法来执行jar文件。代码如下:

shellexecute(GetActiveWindow,' open ',' javaw ','-jar my.jar ','',SW _ NORMAL);

GetActiveWindow方法获取当前窗口的句柄。在这个程序中,config.ini文件用于指定要执行的jar文件。完整的代码如下:

程序启动器;

使用

表格,

windows、shellapi、inifiles、sysUtils。

{$R *。res}

定义变量

ini:TiNi file;

JarFile:String;

开始

申请。初始化;

ini := tinifile。创建(extractfilepath(应用程序。ExeName)+' config . ini ');

JarFile := ini。ReadString('config ',' JarFile ',' ');

shellexecute(GetActiveWindow,' open ',' javaw ',PWideChar('-jar ' + JarFile),'',SW _ NORMAL);

ini。免费;

申请。跑步;

结束。

在与exe相同的目录中创建一个config.ini文件,其内容如下:

[配置]

JarFile = jars\swt.jar

其中,swt.jar文件是一个已执行的jar文件,应该放在当前目录的jars目录下。当前目录结果如下:

launcher.exe

config.ini

jars\swt.jar

Launcher.exe和config.ini也包含在本文的下载文件中。读者只需要在config.ini文件中修改相应的jar文件名。您也可以将launcher.exe更改为另一个文件名。还有就是需要修改launcher.exe文件的图标,可以在delphi2009中直接修改(delphi较低版本也可以,最好7.0以上),也可以找一些程序编辑二进制资源,直接打开launcher.exe文件,修改图标。

当然,这个程序也可以用任何能生成原生可执行文件的编程语言开发,比如C和C++。

好了,现在您可以通过双击launcher.exe文件来调用jar包。如果要扩展launcher,直接修改源代码就可以了。其实这个实现非常非常简单!!!