将java程序编译成独立运行的exe文件

众所周知java的程序可以“一次编译,到处运行”,这个特性不错,但是实现这个特性的前提是当前的平台

必须有相应的jvm,而且如果当前平台的jvm低于程序要求的版本的话这个程序就不能正常运行,还有就是运行

java程序除了直接双击jar包之外就是在控制台输入命令执行,这样显得java程序跟其他语言开发的程序有很大

的差别,我们可以实现像其他语言开发的软件一样独立运行和实现一些定制的功能吗?答案是肯定的,下面就

介绍一下用exe4j将java程序编译成使用自带jvm的exe文件。

准备工作:如图,这个是我写的程序的输出目录,我要把maquezhangben.jar编译成exe文件。

首先到jre的目录下把整个jre文件夹拷贝到这个目录下,如果你想让自定程序的图标的话也可以事先把相应的图标文件拷贝到这里来。

下面,打开exe4j程序,我的这个版本是4.0,它支持java1.6的版本。这个软件使用起来非常简单,按照提示就可以完成。所以下面的介绍主要以截图为主,顺便假一些简单的文字介绍。

在这一步直接点击next开始。

这一步是选择模式,选择"JAR in EXE" mode ,点击next。

这一步输入程序的名字和exe文件的输出目录,我选择的是刚才的程序程序输出目录,编译完成之后会在那个目录下建立一个exe文件,选择好之后点击next。

这里可以设置你的程序是图形化的应用程序还是命令行的或者是一个服务,我的是图形化的就选择默认的GUI application,下面是输入执行文件的名字你输入什么,生成的时候就是什么.exe,“icon file”选项是设置程序的图标,如果有的话就可以选中该项并指定图标文件的路径。下面的选项是设置是否同时只允许一个实例运行,如果是就打钩,不是的话就空着。设置好之后点击next。

接下来是添加你的jar包,选择maquezhangben.jar添加就可以。添加完毕之后回到这个画面你要在“main class”那里选择主类,我的是maquezhangben.Main,选择好之后点击next。

这里设置java的版本,根据情况设置就可以。如果你要使用自己的jvm那么这里就不要点击next,点击左边的“search sequence”,默认是以下的选项,即默认搜索顺序为注册表和java_home、jdk_home变量,这里都删掉。添加我们自己的jvm。

选择directory,然后选中刚才拷贝到输出目录的那个jre6文件夹即可,点击下一步。

如果你想让程序启动前显示一个图片,那么在这里设置就可以,支持jpg、gif、bmp类型。,设置好点击next。

这里是设置提示信息,默认既可,点击next。

程序开始编译。

编译完成,现在在输出目录就会多出一个exe文件,直接点exit即可,是否要保存这个任务随便。

这个是程序输出目录,maquezhangben.jar可以删除了。

   现在看起来一切都很好,但是当我点击软件.exe的时候却出现这个提示,让人很恼火~    出现这个提示是因为程序没有找到相关lib目录下的那个数据库驱动的类,解决方法就是在search sequence中加入lib目录,或者把lib目录下的jar文件拷贝到jre6\lib\ext目录下,这样它就可以正常使用了。

java程序编译成exe文件_将java程序编译成独立运行的exe文件相关推荐

  1. matlab7 fig exe 阴影,Matlab 生成完全独立运行的 EXE文件的问题请教

    如何将matlab gui文件编辑成exe可执行文件 我现在用Matlab M文件写了一个计算程序,当输入一些数时,通过程序,计算出一些结果.(比如我的 程序是sum=(a+b+c)/d,即给定a,b ...

  2. java 命令行 编译 jar文件_用命令行编译java并生成可执行的jar包

    如果想用java编写一个可视化小程序,碰巧手头没有IDE的话,可以用命令行来完成编译.打包等工作. 拿自己编写的"java记事本"为例,介绍一下这个过程: 1.编写源代码. 编写源 ...

  3. java源程序是由类定义_无论Java源程序包含几个类的定义,若该源程序文件以A.java命名,编译后生成的都只有一个名为A的字节码文件...

    无论Java源程序包含几个类的定义,若该源程序文件以A.java命名,编译后生成的都只有一个名为A的字节码文件 答:× 小儿头皮静脉输液时如误注入动脉,局部表现为: 答:呈树枝状苍白 人民群众既是历史 ...

  4. java文件打包jar文件_把java文件打包成.jar (jar命令详解)

    把java文件打包成.jar (jar命令详解) 先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1. ...

  5. java 反编译class文件_用Java实现JVM第三章《解析class文件》

    解析class文件 案例介绍 本案例主要介绍通过java代码从class文件中解析:class文件.常量池.属性表: 作为类(或者接口)信息的载体,每个class文件都完整地定义了一个类.为了使jav ...

  6. 获取wxapkg文件_微信小程序编译包的获取与解压——在手机中获取小程序编译包wxapkg...

    准备工作: 微信关注需要下载编译包的小程序,然后点进去看一下,微信就会自动下载相应的编译包到手机上了. 获取小程序编译包: 据说root手机可以直接在手机的文件管理中查找wxapkg文件,自己尝试了下 ...

  7. java 读取 远程文件_利用JAVA获取远程文件及使用断点续传 供学习者使用

    闲来没事,就做做,程序还是要多写才好@ 原理不说,文件方面及I/O方面,去BAIDU一下就知道,断点续传的原理也很简单,就是在原来已经下载的基础之上继续下载就可以了,用到了这么关键的一句:urlc.s ...

  8. java使用缓冲区读取文件_在Java中使用Google的协议缓冲区

    java使用缓冲区读取文件 最近发布了 有效的Java第三版 ,我一直对确定此类Java开发书籍的更新感兴趣,该书籍的最新版本仅通过Java 6进行了介绍 . 在此版本中,显然存在与Java 7 , ...

  9. java文件和xml文件_用Java分割大型XML文件

    java文件和xml文件 上周,我被要求用Java编写一些东西,该东西能够将一个30GB的XML文件拆分为可配置文件大小的较小部分. 文件的使用者将是一个中间件应用程序,该应用程序在XML的大尺寸方面 ...

最新文章

  1. 在CentOS 6.6 x86_64上安装SystemTap/Perf+FlameGraph玩转火焰图实录
  2. vue-video-player文档_vue的video插件vue-video-player
  3. NYOJ 906 杨辉三角
  4. pyhanlp 停用词与用户自定义词典
  5. 「洛谷2495」「BZOJ3052」「SDOI2001」消耗战【虚树+树形动态规划】
  6. XOR and Favorite Number(CF-617E)
  7. 梯度的直观理解_BP反向传播算法的思考和直观理解 -卷积小白的随机世界
  8. java当前月份减一个月_Java获取当前时间的上一个月和下一个月,第一天和最后一天,任意时间的第一天和最后一天,任意时间上一个月和下一个月...
  9. 4月10日下午学习日志
  10. [Unity3D]推荐几个不错的网站
  11. 利用VBA将出纳表格生成可打印的凭证
  12. 第九届信号与图像处理国际学术研讨会(CSIP 2022)
  13. eclipse中folder、source folder、package的区别及相互转换
  14. 毕业设计之甘特图制作
  15. keras 中的 verbose 参数详解
  16. html单元格边框斜线,excel表头三斜线 将线条的两端放在单元格的边框上
  17. 五大浏览器的简单介绍
  18. 房租分期业务系统-抓住新的市场机遇
  19. 基于GIS、、geosever插件实现当地旅游资源网格化管理系统的架构
  20. python pandas 条件选择

热门文章

  1. 产品经理:想爱没那么简单
  2. 大数据技术原理与应用之【Spark】习题
  3. ORA-20000故障排除手记
  4. iOS emoji应用(一)
  5. win10桌面图标字体看不清楚
  6. anaconda安装教程-手把手教你安装
  7. 关于“参商两曜斗西东”中“参商”和“两曜”具体指什么
  8. NYOJ 638 小媛在努力(水)
  9. CSRF 伪造跨域请求
  10. 亲亲小嘴后,不应该就是摸摸小胸么