热门标签 | 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的。



推荐阅读
  • Presto:高效即席查询引擎的深度解析与应用
    本文深入解析了Presto这一高效的即席查询引擎,详细探讨了其架构设计及其优缺点。Presto通过内存到内存的数据处理方式,显著提升了查询性能,相比传统的MapReduce查询,不仅减少了数据传输的延迟,还提高了查询的准确性和效率。然而,Presto在大规模数据处理和容错机制方面仍存在一定的局限性。本文还介绍了Presto在实际应用中的多种场景,展示了其在大数据分析领域的强大潜力。 ... [详细]
  • 本文深入探讨了如何利用Maven高效管理项目中的外部依赖库。通过介绍Maven的官方依赖搜索地址(),详细讲解了依赖库的添加、版本管理和冲突解决等关键操作。此外,还提供了实用的配置示例和最佳实践,帮助开发者优化项目构建流程,提高开发效率。 ... [详细]
  • Android中将独立SO库封装进JAR包并实现SO库的加载与调用
    在Android开发中,将独立的SO库封装进JAR包并实现其加载与调用是一个常见的需求。本文详细介绍了如何将SO库嵌入到JAR包中,并确保在外部应用调用该JAR包时能够正确加载和使用这些SO库。通过这种方式,开发者可以更方便地管理和分发包含原生代码的库文件,提高开发效率和代码复用性。文章还探讨了常见的问题及其解决方案,帮助开发者避免在实际应用中遇到的坑。 ... [详细]
  • 初探性能优化:入门指南与实践技巧
    在编程领域,常有“尚未精通编码便急于优化”的声音。为了从性能优化的角度提升代码质量,本文将带领读者初步探索性能优化的基本概念与实践技巧。即使程序看似运行良好,数据处理效率仍有待提高,通过系统学习性能优化,能够帮助开发者编写更加高效、稳定的代码。文章不仅介绍了性能优化的基础知识,还提供了实用的调优方法和工具,帮助读者在实际项目中应用这些技术。 ... [详细]
  • Java测试服务器调试指南详细介绍了如何进行远程调试,并深入解析了Java Xdebug参数的使用方法。本文首先概述了Java内置的调试功能,重点介绍了JDB这一类似于GDB的强大调试工具。通过实例演示,读者可以掌握在测试环境中高效调试Java应用程序的技巧,包括配置远程调试环境和优化调试参数,以提高开发效率和代码质量。 ... [详细]
  • 本文详细介绍了如何在Java Web服务器上部署音视频服务,并提供了完整的验证流程。以AnyChat为例,这是一款跨平台的音视频解决方案,广泛应用于需要实时音视频交互的项目中。通过具体的部署步骤和测试方法,确保了音视频服务的稳定性和可靠性。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 2021年Java开发实战:当前时间戳转换方法详解与实用网址推荐
    在当前的就业市场中,金九银十过后,金三银四也即将到来。本文将分享一些实用的面试技巧和题目,特别是针对正在寻找新工作机会的Java开发者。作者在准备字节跳动的面试过程中积累了丰富的经验,并成功获得了Offer。文中详细介绍了如何将当前时间戳进行转换的方法,并推荐了一些实用的在线资源,帮助读者更好地应对技术面试。 ... [详细]
  • 本指南详细介绍了如何在CentOS 6.6 64位系统上以root用户身份部署Tomcat 8服务器。系统环境为CentOS 6.6 64位,采用源码安装方式。所需软件为apache-tomcat-8.0.23.tar.gz,建议将软件下载至/root/opt目录。具体下载地址请参见官方资源。本指南涵盖了从环境准备到服务启动的完整步骤,适用于需要在该系统环境下搭建高性能Web应用服务器的技术人员。 ... [详细]
  • Amoeba 通过优化 MySQL 的读写分离功能显著提升了数据库性能。作为一款基于 MySQL 协议的代理工具,Amoeba 能够高效地处理应用程序的请求,并根据预设的规则将 SQL 请求智能地分配到不同的数据库实例,从而实现负载均衡和高可用性。该方案不仅提高了系统的并发处理能力,还有效减少了主数据库的负担,确保了数据的一致性和可靠性。 ... [详细]
  • 在Java Web服务开发中,Apache CXF 和 Axis2 是两个广泛使用的框架。CXF 由于其与 Spring 框架的无缝集成能力,以及更简便的部署方式,成为了许多开发者的首选。本文将详细介绍如何使用 CXF 框架进行 Web 服务的开发,包括环境搭建、服务发布和客户端调用等关键步骤,为开发者提供一个全面的实践指南。 ... [详细]
  • 将Jar包部署至Linux服务器的详细步骤与注意事项
    将Jar包部署至Linux服务器的详细步骤及注意事项包括:首先使用 `mvn install` 命令进行Jar包的打包构建。接着,需要停止当前正在运行的Jar进程,可以通过 `ps -ef | grep **.jar` 查找对应的进程ID(PID),然后使用 `kill -9 ` 终止该进程。最后,使用 `rm` 命令删除旧的Jar包文件,确保新版本能够顺利部署。在整个过程中,务必确保操作的准确性和安全性,避免对服务器造成不必要的影响。 ... [详细]
  • C++ 开发实战:实用技巧与经验分享
    C++ 开发实战:实用技巧与经验分享 ... [详细]
  • 在探讨Hibernate框架的高级特性时,缓存机制和懒加载策略是提升数据操作效率的关键要素。缓存策略能够显著减少数据库访问次数,从而提高应用性能,特别是在处理频繁访问的数据时。Hibernate提供了多层次的缓存支持,包括一级缓存和二级缓存,以满足不同场景下的需求。懒加载策略则通过按需加载关联对象,进一步优化了资源利用和响应时间。本文将深入分析这些机制的实现原理及其最佳实践。 ... [详细]
  • Spring框架的核心组件与架构解析 ... [详细]
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社区 版权所有