• 将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 选择启动的主函数

    4. 成功界面

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

    5. 点击上方栏的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系统中。

    2. **Windows操作系统的特性**
       - **文件系统缓存**:Windows可能会将正在使用的文件保留在缓存中,即使应用程序已经关闭,这些文件也可能暂时无法删除。
       - **病毒检查软件**:某些病毒检查软件可能会锁定或扫描新创建的exe文件,这可能导致删除操作失败。
       - **系统还原点**:Windows的系统还原功能有时会保护系统文件和注册表设置,这可能会影响到exe文件的删除。

    3. **用户操作的影响**
       - **不当关闭应用程序**:如果应用程序没有通过正常的关闭流程结束,可能会导致临时文件未能正确清除。
       - **多个实例运行**:如果exe文件被启动了多次,可能会有多个实例在运行,这需要确保所有实例都已经完全关闭才能删除exe文件。
       - **手动干预**:用户试图在应用程序运行时删除exe文件,这通常会导致删除失败,因为系统会认为文件正在使用中。

    4. **编程实践的影响**
       - **程序代码问题**:如果Java应用程序本身存在内存泄漏或其他资源管理问题,可能会导致相关文件被不当持有,从而无法删除。
       - **exe4j配置错误**:使用exe4j进行打包时,如果配置不当,可能会导致生成的exe文件在运行时产生额外的锁定文件。
       - **依赖库管理**:Java应用程序所依赖的库文件如果没有被正确处理,也可能导致删除失败。

    5. **操作系统的其他因素**
       - **系统更新**:在进行系统更新时,Windows可能会加强对于系统文件的保护,这可能会影响到exe文件的删除。
       - **磁盘错误**:磁盘上的错误或坏道可能会导致文件无法正常删除。
       - **事件调度器任务**:如果操作系统中的事件调度器设置了与exe文件相关的任务,可能会导致文件在特定条件下被锁定。

    等等原因。


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

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

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

  • 相关阅读:
    【腾讯云原生降本增效大讲堂】通过云原生管理Kubernetes GPU资源
    linux运维笔记:Rsync数据同步工具
    WPF分享一个登录界面设计
    【c++11特性】——static_cast,dynamic_cast,const_cast,reinterpret_cast解析
    项目01—基于nignx+keepalived双vip的负载均衡高可用Web集群
    Spring之bean对象
    Linux 远程联机服务(二)- Rsh服务器
    RabbitMQ:路由模式
    【MindSpore功能】昇腾310推理卡上跑MindSpore.ops中的算子,执行失败
    LeetCode - 698 划分为k个相等的子集
  • 原文地址:https://blog.csdn.net/m0_74344909/article/details/139457510