将Java程序打包为为.exe文件

将Java程序打包为为.exe文件

将Java程序打包为为.exe文件分为俩个步骤:

1、将Java程序打包成Jar包(此时就可复制桌面便于使用)

2、打包为.exe文件(需要借助工具)

一、打包为.exe文件

1. file -> Project Structure 或者直接使用全局快捷键(Ctrl + Alt + Shift + S)

2. 新建JAR 并且选择有依赖关系的模块

3. 选择要打包的项目,选择要执行的 main 函数和jar包路径

3.1 选择启动的主函数

  1. 成功界面

4.1 你已经在这个路径下已经建过一个module了的话再次新建module就会报这个错,只要删除对应的文件夹即可

  1. 点击上方栏的Build生成Build Artifacts

6. 选择点击build就会在前面设置的路径下生成我们的jar包,其实这个jar包就已经可以运行了,继续看下去我们把它变成exe可执行文件。

去指定的目录下可以看到我们的Jar包已经生成了

二、打包为.exe文件

1. 先去官网下载 exe4j程序

2. Welcome to exe4j(想解决激活码问题的友友--点击→激活码

3. Project type

4. Application info

5. Executable inf

6.Java invocation

8. 第七步:Splash screen

直接点 next

9. Messages

直接点 next

10. Compile executable

直接点 next

加载完成则大功告成!!!

生成的.exe文件

文件在第一次打开的时候会进行检索磁盘 此时可能会较卡 等待一分钟左右就会扫描完啦 下次打开就会变的很快


操作过程中可能出现的问题

1、出现 NO JVM could be found on your system异常

解决方法

①.确保电脑装有java运行环境(jre);

②.确保jre的版本与使用exe4j生成exe时设置的版本一致,保证jre的版本在Minumum与Maximum之间

③.确保用于生成exe的exe4j与jre的位数一致:如果exe4j是32位的,那么jre也应当是32位的;如果exe4j是64位的,那么jre也应当是64位的。

2、exe4j打不开

解决方法

不能放在中文文件夹下,非版本问题

3、Compile error

解决方法

导致该问题的原因是该文件已经生成过并且处于运作中,找到原来生成.exe文件并且删掉,再重新生成.exe文件即可。

但是在删除过程中也可能删不掉,建议采用粉碎工具粉碎

在使用exe4j将Java应用程序打包成exe文件后,用户可能会遇到无法删除生成的exe文件的问题。这种情况通常与**exe4j的工作方式以及Windows操作系统的文件管理机制**有关。以下是对这一问题的详细分析及建议:

  1. **exe4j的工作原理**
  • **临时文件生成**:exe4j在运行Java应用程序时,会在临时目录下生成一些必要的文件,这些文件可能包括JRE(Java运行时环境)和其他运行程序所需的资源。

  • **文件锁定**:如果exe文件正在运行或被系统进程占用,Windows可能不允许删除这些文件,因为它们被视为正在使用中。

  • **权限问题**:在某些情况下,用户可能没有足够的权限来删除exe文件或相关临时文件,尤其是在那些对文件系统访问控制较为严格的Windows系统中。

  1. **Windows操作系统的特性**
  • **文件系统缓存**:Windows可能会将正在使用的文件保留在缓存中,即使应用程序已经关闭,这些文件也可能暂时无法删除。

  • **病毒检查软件**:某些病毒检查软件可能会锁定或扫描新创建的exe文件,这可能导致删除操作失败。

  • **系统还原点**:Windows的系统还原功能有时会保护系统文件和注册表设置,这可能会影响到exe文件的删除。

  1. **用户操作的影响**
  • **不当关闭应用程序**:如果应用程序没有通过正常的关闭流程结束,可能会导致临时文件未能正确清除。

  • **多个实例运行**:如果exe文件被启动了多次,可能会有多个实例在运行,这需要确保所有实例都已经完全关闭才能删除exe文件。

  • **手动干预**:用户试图在应用程序运行时删除exe文件,这通常会导致删除失败,因为系统会认为文件正在使用中。

  1. **编程实践的影响**
  • **程序代码问题**:如果Java应用程序本身存在内存泄漏或其他资源管理问题,可能会导致相关文件被不当持有,从而无法删除。

  • **exe4j配置错误**:使用exe4j进行打包时,如果配置不当,可能会导致生成的exe文件在运行时产生额外的锁定文件。

  • **依赖库管理**:Java应用程序所依赖的库文件如果没有被正确处理,也可能导致删除失败。

  1. **操作系统的其他因素**
  • **系统更新**:在进行系统更新时,Windows可能会加强对于系统文件的保护,这可能会影响到exe文件的删除。

  • **磁盘错误**:磁盘上的错误或坏道可能会导致文件无法正常删除。

  • **事件调度器任务**:如果操作系统中的事件调度器设置了与exe文件相关的任务,可能会导致文件在特定条件下被锁定。

等等原因。


声明:文章在转载的基础上加以改善,初衷是便于自己翻阅,发布是为了供大家参考学习

但是还请各位友友尊重原创

原文:http://t.csdnimg.cn/VPXiE

相关推荐
Theodore_10223 小时前
4 设计模式原则之接口隔离原则
java·开发语言·设计模式·java-ee·接口隔离原则·javaee
冰帝海岸4 小时前
01-spring security认证笔记
java·笔记·spring
世间万物皆对象4 小时前
Spring Boot核心概念:日志管理
java·spring boot·单元测试
没书读了5 小时前
ssm框架-spring-spring声明式事务
java·数据库·spring
----云烟----5 小时前
QT中QString类的各种使用
开发语言·qt
lsx2024065 小时前
SQL SELECT 语句:基础与进阶应用
开发语言
小二·5 小时前
java基础面试题笔记(基础篇)
java·笔记·python
开心工作室_kaic5 小时前
ssm161基于web的资源共享平台的共享与开发+jsp(论文+源码)_kaic
java·开发语言·前端
向宇it5 小时前
【unity小技巧】unity 什么是反射?反射的作用?反射的使用场景?反射的缺点?常用的反射操作?反射常见示例
开发语言·游戏·unity·c#·游戏引擎
懒洋洋大魔王5 小时前
RocketMQ的使⽤
java·rocketmq·java-rocketmq