`
seara
  • 浏览: 646492 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

将Java程序变成可执行文件的简单方法

阅读更多
本文为原创,如需转载,请注明作者和出处,谢谢!

launcher下载

运行Java程序(SWING或SWT的桌面程序)可以直接执行.class文件或将所有的.class文件及相关的其他文件压缩成.jar文件,然后使用javaw -jar my.jar来运行程序(其中my.jar是一个jar文件名,可以是任何指定的jar文件)。但在windows下,用户习惯直接运行一个exe来执行程序。在网上有很多程序可以将my.jar或.class文件直接转换成exe文件。但很多都是将jar或.class文件放到exe里成,这样不太方便。有些工具,如javalauncher可以使用一个exe程序(用c语言写的)来调用jar文件。但有时需要在运行程序之间做些其他的工具,例如,在客户端动态从服务端下载最新版本的程序。因此,在本文将使用delphi2009实现一个简单的可以调用jar文件的程序,读者可以对这个程序进行任何扩展,本文还提供了该程序的源代码和exe文件。
使用delphi建立一个VCL工程。在本程序中不需要form,因此,可以将默认生成的form删除。实际上,我们只需要调用ShellExecute方法就可以通过javaw命令来执行jar文件,代码如下:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->shellexecute(GetActiveWindow,'open','javaw', '-jar my.jar','',SW_NORMAL);

其中GetActiveWindow方法获得当前窗口的句柄。在本程序中使用了一个config.ini文件来指定要执行的jar文件,实现的完整代码如下:
programlauncher;
uses
Forms,
windows,shellapi,inifiles,sysUtils;

{$R
*.res}
var
ini:tinifile;
JarFile:String;
begin
Application.Initialize;
ini:
=tinifile.Create(extractfilepath(application.ExeName)+'config.ini');
JarFile:
=ini.ReadString('config','JarFile','');
shellexecute(GetActiveWindow,
'open','javaw',PWideChar('-jar'+JarFile),'',SW_NORMAL);
ini.Free;
Application.Run;
end.

在和exe相同的目录下建立一个config.ini文件,内容如下:
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->[config]
JarFile
=jars\swt.jar
其中swt.jar文件是执行的jar文件,要放在当前目录的jars目录中。现在的目录结果如下:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->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++等。

OK,现在就可以通过双击launcher.exe文件来调用jar包了。要想对launcher进行扩展,就直接修改源代码吧。其实这个实现是非常非常地简单!!!


国内最棒的Google Android技术社区(eoeandroid),欢迎访问!

《银河系列原创教程》发布

《Java Web开发速学宝典》出版,欢迎定购

分享到:
评论

相关推荐

    把java原代码变成可执行文件exe

    将Java原代码转换为可执行的EXE文件是许多开发者追求的目标,尤其是在Windows平台上,因为EXE文件能够更方便地分发和运行。下面,我们将深入探讨如何通过一系列步骤,利用Eclipse IDE、JAR文件、批处理脚本(BAT)...

    图文解说教你如何把java源代码变成可执行文件exe

    将Java程序转换为可执行文件的另一种方法是创建一个批处理文件(.bat),该文件可以调用Java虚拟机(JVM)来执行JAR文件。 1. **创建批处理文件**: - 在Eclipse导出JAR文件所在的目录中新建一个文本文件,例如命名...

    图文解说教你如何把java源代码变成可执行文件exe.doc

    但是,Java 源代码不能直接执行,需要通过编译和打包成可执行文件(exe)来实现跨平台运行。在本文中,我们将详细介绍如何将 Java 源代码转换为可执行文件(exe)。 从 Eclipse 导出文件 Eclipse 是一个流行的集成...

    图文解说教你如何把java源代码变成可执行文件exe.docx

    为了提供更好的用户体验,可以将批处理文件转换为一个标准的Windows可执行文件(.exe)。 **步骤1:** 下载并安装一个工具,如QuickBFC.EXE,它可以将批处理文件转换为可执行文件。 **步骤2:** 运行QuickBFC.EXE...

    把java文件做成exe

    EXE4J是一款专门用于将Java应用程序转换为Windows可执行文件的工具。它提供了友好的图形界面和强大的功能,包括自定义JVM参数、集成资源、设置启动图标等。在使用EXE4J时,我们需要准备以下几个关键元素: 1. **...

    用nsis打jar文件为exe可执行文件的工具

    exe4j是一款专为Java开发者设计的工具,它能够将Java应用程序打包成Windows可执行文件。其主要特点包括: - **多模式打包**:exe4j提供了多种打包模式,如单JAR模式、多JAR模式、启动器模式等,适用于不同类型的...

    Java反编译工具把.class文件转换为.java文件

    - 解压后会得到两个文件:一个是可执行文件(名为`jad.exe`,适用于Windows系统;或名为`jad`,适用于*nix系统),另一个是此README文件。无需进行额外设置即可使用。 2. **基本使用**: - 使用命令行界面调用Jad...

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

    launch4j就是这样一个强大的工具,它允许开发者将Java应用程序封装为一个独立的、自包含的Windows可执行文件,用户无需安装Java运行环境就能直接运行程序,极大地提高了用户的使用便利性。 launch4j的核心功能在于...

    javalauncher可以把BAT文件变成EXE的文件

    JavaLauncher是一款工具,它能够将批处理文件(BAT)转换为可执行文件(EXE)。这个过程对于那些希望在不依赖命令行环境或者使程序对非技术用户更友好的开发者来说非常有用。批处理文件是包含一系列DOS命令的文本...

    将jar包文件转为exe可执行文件的工具

    在IT行业中,有时候我们需要将Java编写的程序打包成可被非Java环境运行的exe可执行文件,以便在没有安装Java运行环境的计算机上也能顺利执行。`jar`文件是Java程序的标准打包格式,而`exe`文件则是Windows操作系统下...

    jar文件 变成dll

    IKVM包括了Java Class Library的.NET实现,使得.NET应用可以调用Java类库,同时也提供了将Java应用程序和类库转换为.NET可执行文件或DLL的功能。 **转换过程:** 1. **准备环境**:首先,确保你已经下载并安装了...

    java反编译器,class文件变java格式

    用户需要解压缩这个文件,然后按照JAD的使用指南运行反编译命令,或将对应的可执行文件与Eclipse插件结合使用。 使用反编译器需要注意版权问题,因为反编译商业软件的源代码可能违反了许可协议。只有在确保对代码有...

    class编译成JAVA文件

    这些文件包含了 JVM(Java Virtual Machine)可执行的指令,是程序运行的基础。当你想要理解或分析一个已经编译的 `.class` 文件时,可能会需要将其反编译成可读的 `.java` 源代码。以下将详细讲解这个过程及其相关...

    Java程序性能优化(23条).

    ### Java程序性能优化知识点 #### 一、避免在循环条件中使用...以上就是根据给定文件中标题、描述和部分内容总结出的五个Java程序性能优化的知识点。通过遵循这些优化策略,开发者可以有效地提高Java应用程序的性能。

    JAVA文件反编译工具.class查看

    在给定的场景中,描述提到的反编译工具是一个可执行文件(.exe),意味着它是一个Windows平台的应用程序,用户可以直接运行而无需进行安装过程。 在Java环境中,源代码被编译成字节码,这是一种平台无关的中间语言...

    JCreator生成.jar文件&&java生成exe文件参照.pdf

    "JCreator生成.jar文件&&java生成exe...使用JCreator生成.jar文件,然后使用exe4j工具将其转换为可执行文件,这样可以方便地将Java程序转换为可执行文件,并且exe4j工具的使用非常简单,只需要按照提示一步步操作即可。

    Jar转Exe.zip

    要将.jar文件转换为.exe文件,通常需要使用特定的工具,这些工具会创建一个Windows可执行文件,其中包含了运行Java程序所需的所有依赖和配置。下面是一些常用的转换工具: 1. **Launch4j**:这是一个免费且开源的...

    Java程序部署到服务器上,接口请求下载文件失败/文件为空/文件名不对的问题

    Java程序部署到服务器上遇到接口请求下载文件失败、文件为空或者文件名不对的问题,通常涉及到服务端程序的配置、文件系统的处理、以及Web应用服务器与Web容器之间的兼容性问题。在本文中,我们将详细探讨这些问题的...

    swt程序发布,jar转exe

    它允许开发者将Java应用程序打包成独立的可执行文件,包括嵌入Java运行时环境。使用exe4j,开发者可以定制启动界面、设置内存大小、添加版权信息等。 以下是关于“swt程序发布,jar转exe”的详细知识点: 1. **...

Global site tag (gtag.js) - Google Analytics