热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JsmoothJava文件打包成exe文件(可以在没安装JDK的环境下运行)

最近用JavaSwing做了一个小小的界面项目,想要把它打包成exe可执行文件,上网络搜索到了可以使用Jsmooth打包,挺方便的。现在,将网络上的资料总结下,并说说自己遇到的问

          最近用Java Swing做了一个小小的界面项目,想要把它打包成exe可执行文件,上网络搜索到了可以使用Jsmooth打包,挺方便的。现在,将网络上的资料总结下,并说说自己遇到的问题。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1、将java程序导出jar包,打包的方式有两种,一种是将当前项目文件以及相关引用全部打入同一个jar包,另外一种是将当前项目文件打成单独jar包。两种方法都可以。但是建议使用第二种,这种方式维护和升级都比较方便,只更新jar包即可,当然第一种也有好处,第一种在生成exe选项的时候,可以将所有的jar文件打包到.exe中去,可以使程序看起来简单。


2、新建一个目录(如:D:\test\program),将所用到的所有转化文件放入到该目录中去。包括.exe的图标、jrejar文件等。(注意此例子生成的.exe可以在无jre的环境下运行,jre已经被当成程序的一部分了,把所有文件放入同一个文件夹可以指定相对目录)目录结构如下:


3、启动JSmooth,点击左侧的导航 “骨架”,在打开的页面中选择“Console Wrapper, this is for console application


4、选择左侧导航“可执行文件”,在打开的页面中点击“可执行的二进制文件”的右侧浏览按钮,将路径选择到刚才建立的目录下(D:\test\program),此目录即是生成.exe程序的基本目录,自己起一个.exe的名称,如sign.exe.


5、选择可执行文件的图标,选择同一个目录中的图标

6、选中“设置执行文件所在的目录为应用程序的当前目录”,此选项可以将当前的.exe所在的目录设置为应用程序的根目录,其他文件的目录为相对该目录的相对目录,这样就可以做到不管程序被拷贝到哪里,都可以运行,而不是一个绝对目录


7、点击保存按钮,为什么要在此时保存呢?这个可能是JSmooth的一个小问题,上一步骤中选中的相对目录,貌似是工程文件(JSmoonth工程)所在的目录。把工程文件保存在该目录下,即可完成对所有选中文件相对路径设置。点击保存按钮,将文件保存在相对目录中去,名字可以任意取。例子中将该工程文件保存在D:\test\program\abc.jsmooth,再强调一下工程文件一定要保存在根目录里,相对路径的问题才能解决。保存完毕后,看下图(注意要切换下页面才能看到这个信息,如点一下"骨架",再点"可执行文件",路径已经变成相对路径了,原来的 D:\test\program\sign.exe 已经变成 sign.exe):


8、点击左侧导航 “应用程序”,在打开的页面中,选配置Classpath路径,即你的java项目文件的jar包以及所有引用的jar包(不包括jrejre后面会单独处理)。其中使用嵌入的jar文件选项可以将选中的一个jar文件直接打包到 .exe中去,这种对于只使用一个jar包的程序或者把所有的引用以及程序打包成一个jar文件的做法,比较好,这样classpath就不用设这了。当然你也可以即设置嵌入式 jar,又设置Classpath类路径。注意Classpath的先后顺序,一般将自己项目中的文件所在的jar包移动到最上面,这样一些资源文件就会以自己项目中的资源文件为准,如log4j.xml , zh_cn.property文件等。选择住类,即main函数所在的那个类,并填写好启动参数,即main函数所需要的参数,没有可以不填。

9、点击左侧导航菜单“jvm选择”,可以为应用程序指定一个相对目录下的jre 。这样应用程序不管拷贝到哪里,都可以直接运行注意选号路径后,路径信息直接就是相对路径,如果出现了绝对路径,则是上面某些步骤出现了问题)

10、JVM配置可以设置JVM的内存,启动参数等信息。

11、点击保存-编译。


12、在文件目录下就会生成一个.exe文件。


13、其中没有用的文件是jsmooth的工程文件,abc.jsmooth,图片文件(因为图片已经被打包到.exe中去了)。删除这2个文件,之后整个程序就已经做好了,无论将该程序拷到任意目录或者拷贝到没有jre的计算机上都能正常运行。其实如果程序中没有绑定jre,程序在运行时也会去找系统的jre的。



推荐阅读
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文详细介绍了跨站脚本攻击(XSS)的基本概念、工作原理,并通过实际案例演示如何构建XSS漏洞的测试环境,以及探讨了XSS攻击的不同形式和防御策略。 ... [详细]
  • 探索OpenWrt中的LuCI框架
    本文深入探讨了OpenWrt系统中轻量级HTTP服务器uhttpd的工作原理及其配置,重点介绍了LuCI界面的实现机制。 ... [详细]
  • 本文将详细介绍如何配置并整合MVP架构、Retrofit网络请求库、Dagger2依赖注入框架以及RxAndroid响应式编程库,构建高效、模块化的Android应用。 ... [详细]
  • 本文概述了在GNU/Linux系统中,动态库在链接和运行阶段的搜索路径及其指定方法,包括通过编译时参数、环境变量及系统配置文件等方式来控制动态库的查找路径。 ... [详细]
  • Web开发实践:创建连连看小游戏
    本文详细介绍了如何在Web环境中开发一款连连看小游戏,适合初学者和技术爱好者参考。通过本文,您将了解游戏的基本结构、连线算法以及实现方法。 ... [详细]
  • 本文探讨了在Eclipse中进行JavaScript验证时遇到的时间过长问题,并提供了解决方法。特别是对于使用ExtJS框架的用户,这一问题尤为突出。文章详细介绍了如何通过修改项目配置文件来有效解决这一问题。 ... [详细]
  • Java高级工程师学习路径及面试准备指南
    本文基于一位朋友的PDF面试经验整理,涵盖了Java高级工程师所需掌握的核心知识点,包括数据结构与算法、计算机网络、数据库、操作系统等多个方面,并提供了详细的参考资料和学习建议。 ... [详细]
  • 雨林木风 GHOST XP SP3 经典珍藏版 YN2014.04
    雨林木风 GHOST XP SP3 经典珍藏版 YN2014.04 ... [详细]
  • 本文探讨了一个Web工程项目的需求,即允许用户随时添加定时任务,并通过Quartz框架实现这些任务的自动化调度。文章将介绍如何设计任务表以存储任务信息和执行周期,以及如何通过一个定期扫描机制自动识别并加载新任务到调度系统中。 ... [详细]
  • 使用 Babylon.js 实现地球模型与切片地图交互(第三部分)
    本文继续探讨在上一章节中构建的地球模型基础上,如何通过自定义的 `CameraEarthWheelControl` 类来实现更精细的地图缩放控制。我们将深入解析该类的实现细节,并展示其在实际项目中的应用。 ... [详细]
  • 宝塔面板下启用HTTPS的详细指南
    本文提供了在宝塔面板环境中配置HTTPS的具体步骤,确保您的网站通信更加安全可靠。 ... [详细]
  • 本文列举了构建和运行 Struts2 应用程序所需的核心 JAR 文件,包括文件上传、日志记录、模板引擎等关键组件。 ... [详细]
  • selenium通过JS语法操作页面元素
    做过web测试的小伙伴们都知道,web元素现在很多是JS写的,那么既然是JS写的,可以通过JS语言去操作页面,来帮助我们操作一些selenium不能覆盖的功能。问题来了我们能否通过 ... [详细]
  • 在CentOS 7中部署Nginx并配置SSL证书
    本文详细介绍了如何在CentOS 7操作系统上安装Nginx服务器,并配置SSL证书以增强网站的安全性。适合初学者和中级用户参考。 ... [详细]
author-avatar
1021365712_3a478e
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有