java生成exe可执行文件的条件_不能运行exe文件

java生成exe可执行文件的条件_不能运行exe文件一、软件准备1.下载将jar包转化为EXE的工具EXE4J,下载地址为:https://www.ej-technologies.com/download/exe4j/files2.下载完成之后,按照如下步骤安装EXE4J。二、生产jar文件在将写好的Java程序转换为EXE程序前,需要先将Java程序导出为jar包,然后才能通过EXE4J生成想要的EXE程序。在这里,笔者使用的工具为eclip……

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、软件准备

1. 下载将jar包转化为EXE的工具EXE4J,下载地址为:

ej-technologies – Java APM, Java Profiler, Java Installer Builder

2. 下载完成之后,按照如下步骤安装EXE4J。

java生成exe可执行文件的条件_不能运行exe文件

java生成exe可执行文件的条件_不能运行exe文件

java生成exe可执行文件的条件_不能运行exe文件

java生成exe可执行文件的条件_不能运行exe文件

java生成exe可执行文件的条件_不能运行exe文件

二、生产jar文件

在将写好的Java程序转换为EXE程序前,需要先将Java程序导出为jar包,然后才能通过EXE4J生成想要的EXE程序。在这里,笔者使用的工具为eclipse,具体步骤如下:

1.打开一个含有main方法且已调试可运行的Java工程,右键点击后选择export,再选择Java选项下的JAR file选项。

java生成exe可执行文件的条件_不能运行exe文件

2.选择要导出的Java工程,并填写jar包的导出路径。点击finish即可在对应路径下看到生成的jar包。

java生成exe可执行文件的条件_不能运行exe文件

三、将jar文件转化为EXE文件

1. 打开exe4j Wizard.exe,在首页先进行License注册,否则生成的exe文件在运行时会提示:“this executable was create with an evaluation exe4j”。注册时可以使用如下的注册号:

A-XVK258563F-1p4lv7mg7sav

A-XVK209982F-1y0i3h4ywx2h1

A-XVK267351F-dpurrhnyarva

A-XVK204432F-1kkoilo1jy2h3r

A-XVK246130F-1l7msieqiwqnq

A-XVK249554F-pllh351kcke50

A-XVK238729F-25yn13iea25i

A-XVK222711F-134h5ta8yxbm0

A-XVK275016F-15wjjcbn4tpj

A-XVK275016F-15wjjcbn4tpj

2. 点击next,选择”JAR in EXE” mode。

java生成exe可执行文件的条件_不能运行exe文件

3.点击next,填写生成的应用名和输出目录。

java生成exe可执行文件的条件_不能运行exe文件

4.点击next,根据自己的应用类别进行选择,并填入可执行文件的名称。其余选项可根据自己的需要进行设置。

java生成exe可执行文件的条件_不能运行exe文件

生成的EXE默认是在32位的JDK环境先运行。如果是目标计算机的运行环境为64位,则还应勾选如下选项:

java生成exe可执行文件的条件_不能运行exe文件

5. 点击next,添加需要生成EXE的jar包并设置好它的mainclass。

java生成exe可执行文件的条件_不能运行exe文件

java生成exe可执行文件的条件_不能运行exe文件

6.根据自己应用对Java API的使用情况,设定运行时jre的最小版本和最大版本限定。

java生成exe可执行文件的条件_不能运行exe文件

7. 接着设定生成EXE文件时所需要依赖的JDK。如果已将Java正确配置到系统环境变量中,该步骤一般可跳过。

java生成exe可执行文件的条件_不能运行exe文件

8. 接着一路next,看到如下界面时说明已经将jar包转换为对应的exe文件。这时便可以打开对应的exe文件看是否正常运行。

java生成exe可执行文件的条件_不能运行exe文件

四、可能遇到的问题

1.执行EXE文件时提示java.lang.NoClassDefFoundError

java生成exe可执行文件的条件_不能运行exe文件

这是由于你程序中有引用到第三方的jar包,而生成EXE文件时没有将其关联起来。在ConfigureJava invocation时,需要将引用到的第三方库也包含进来。

java生成exe可执行文件的条件_不能运行exe文件

2. 执行EXE文件时提示java.lang.UnsatisfiedLinkError

java生成exe可执行文件的条件_不能运行exe文件

这是由于程序中引用到的jar包中,有通过JNI机制去调用到一些dll文件中的方法,而在配置生成EXE的过程中没有指定。在Configure Java invocation时,需要在native libraries中添加dll所在的目录。

java生成exe可执行文件的条件_不能运行exe文件

3. 执行EXE文件时提示java.lang.UnsupportedClassVersionError

java生成exe可执行文件的条件_不能运行exe文件

这个一般是由于运行时JDK版本与开发的JDK版本不一致导致(比如你开发时用的是64位的JDK,而在其它电脑上运行时,它的JDK缺失32位的),两边的JDK位数一致就行。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193741.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【《重构 改善既有代码的设计》学习笔记2】重构原则

    【《重构 改善既有代码的设计》学习笔记2】重构原则本篇文章的内容来自《重构 改善既有代码的设计》一书学习笔记整理并且加上自己的浅显的思考总结!上一篇通过一个简单的例子体验了一把重构过程,现在我们需要回过头看一下重构的一些背景、原理和理论。 并思考一下重构的关键原则是什么,以及重构时需要考虑哪一些问题?一、什么是重构1、 重构的定义“重构” 这个词有两种不同的定义!名称形式重…

    2022年2月27日
    40
  • oracle删除索引_创建普通索引sql

    oracle删除索引_创建普通索引sql1.索引分类a)唯一索引,作用是数据约束,保证数据唯一,还有就是数据索引,提高查询效率b)一般索引,只有数据索引的作用,2.唯一索引的建立createuniqueindex索引名on表名(字段名)ok,假设有一个Emploeyy表,里面有一个empName字段,我们来为empName添加唯一索引createuniqueindexidx_empnameone…

    2022年9月5日
    2
  • 解决docker下载镜像速度过慢_docker拉取镜像失败

    解决docker下载镜像速度过慢_docker拉取镜像失败前言上一篇讲到pull镜像,但是pull镜像的时候下拉的速度实在感人,有什么解决办法吗?我们只需将docker镜像源修改为国内的将docker镜像源修改为国内的:在/etc/docker/d

    2022年7月31日
    3
  • centos7 top命令_top是什么命令

    centos7 top命令_top是什么命令top命令Linuxtop命令用于实时显示process的动态。top参数详解第一行,任务队列信息**系统当前时间:**13:52:56**系统开机后到现在的总运行时间:**up66

    2022年7月31日
    0
  • KeyPal硬件钱包[通俗易懂]

    KeyPal硬件钱包[通俗易懂]KeyPal-一款多场景、易操作、全方位保护多链数字资产的硬件钱包以下文章来源于KeyPal硬件钱包,作者KeyPal2021年8月9日,TokenPocket发布了第一款服务于区块链领域的硬件钱包产品——KeyPal。KeyPal硬件钱包是TokenPocket基于开源项目自行深度研发出的一款多链的、多重认证、多方位保护用户数字资产的硬件钱包。KeyPal具有诸多亮点,从安全性、外观表现、材质用料、智能应用和公链支持等各方面都有不错的表现,是当前市面上最具性价比的一款硬件钱包。下面就..

    2022年8月30日
    0
  • 接口测试-Mock测试方法

    接口测试-Mock测试方法一、关于Mock测试1、什么是Mock测试?Mock测试就是在测试过程中,对于某些不容易构造(如HttpServletRequest必须在Servlet容器中才能构造出来)或者不容易获取的比较复杂的对象(如JDBC中的ResultSet对象),用一个虚拟的对象(Mock对象)来创建以便测试的测试方法。2、为什么要进行Mock测试?Mock是为了解决不同的单元之…

    2022年6月20日
    24

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号