exe4j将jar包打成exe(添加jar、jdk、dll)

article/2025/9/16 6:38:50

最近用Java写了一个小工具,想将它达成exe执行文件,到时候直接放某个目录下,一执行就能跑啦。

 

用到的工具:

1、写好的项目:可以是java项目,也可以是java web项目

2、能够打jar的工具:我用的MyEclipse开发,他们有自带的工具,我就直接用这个了

3、exe4j:可以去网上下载,地址:http://www.ej-technologies.com/download/exe4j/files.html,有绿色版的和安装的,32位和64位的。我的是别人给的安装版的,跟官网的最新版可能有些出入,有需要的可以去附件中下载。

4、jre:java项目的运行离不开jre,也不能要求客户自己去装JDK,所以还是给它带个比较保险。(JDK安装之后,有jdk和jre两个目录,可以直接复制这个jre文件夹,也可以复制jdk文件夹下的jre。我这里用的jdk是1.6的)。

5、一张后缀名为ico的图标文件,作为exe执行程序的图标。也可以没有。

 

下面开始弄。

一、将项目中的src加压成jar包:

1、我的目录结构:

 

2、在项目名称上右击(或者在左侧的空白处右击),选择"Export",也就是导出文件,在弹出框里面找到“Java---JAR file”,如图,然后“Next"。

 3、去掉除了src以外的其他文件的勾选状态,只选择src文件夹,如图。然后选择当前jar要保存的位置。最后的三个Options默认的第一个是勾选的,后面的两个是不勾选的。咱们这儿一并勾上吧,无非就是要是选的文件夹不存在就新建文件夹,要是在已经存在就直接覆盖。要是不勾选检测到指定目录下有指定文件时会弹出框问你是否覆盖。上面三点弄完之后,点击“Next”。

4、使用默认设置,点击“Next”。

5、往后的步骤,一路默认一路Next就成。期间可能会遇到一个问题,如下图。这是两个warnings。无关痛痒,可以不用去管它。你要是觉得不舒服不想要有的话,查网上的资料,说将第四部的两个勾都给去掉就不会有这个警告了。(我试了试,的确没有警告了,但是在后面生成exe执行程序之后,却报错说被警告的两个文件找不到了。细看那两个勾选的内容,一个是说错误一个是说警告,跟我的这个找不到文件半毛钱关系都没有,所以可能是碰巧碰到错了。)

6、至此,选定的目录下应该就有导出的jar包了。

 

 

二、组织目录结构:

将java项目里面的其他文件夹(我这里是lib和log两个文件夹)复制到刚刚导出的jar所在目录,并将导出的jar包放到lib目录里面。再新建一个image或别的名称的文件夹用来存在exe生成后的图标(也可以直接放在根目录下面,我是放在image标签下),最后将jre文件夹拷贝至此。我的目录如下:

  
 
 三、使用exe4j工具生成exe执行程序:

1、安装完成exe4j工具之后,双击会打开welcome界面,这个界面是用来输注册码用的,你要是不输,可以直接next。但若是不输入,双击生成的exe时,会alert出一段话,如图。必须点“确定”才可以执行程序。

 为了不让这个问题成为“客户反馈的问题”,咱们还是输入注册码吧。点击"Enter license"按钮,输入Name、Company、和License Key。前面两个可以随便输,key可以试试下面的。

License Key:

A-XVK258563F-1p4lv7mg7sav 
A-XVK209982F-1y0i3h4ywx2h1 
A-XVK267351F-dpurrhnyarva 
A-XVK204432F-1kkoilo1jy2h3r 
A-XVK246130F-1l7msieqiwqnq 
A-XVK249554F-pllh351kcke50 
A-XVK238729F-25yn13iea25i 
A-XVK222711F-134h5ta8yxbm0

 

2、Lisence输入完成了点击“OK”回到welcom界面,点击“Next”,在“Choose project type”里面选在“JAR in EXE mode",也就是用jar包来生成exe。Next。 

3、目录配置,也就是将哪个文件夹下面的东西打成exe。常规里面填个应用的简写名称,Direcotries里面选择需要生成exe的目录,也就是上面组织的目录结构。如图。最后Next。

4、exe执行程序配置。

Executable name:就是exe执行文件的名称

Icon File:exe执行文件的图标。这里选择image下面的ico文件。这里只能用ico文件作为图标。也可以取消前面的复选框不给当前exe设置图标,若是不设置系统会根据系统主题自动设置一个图标。

Allow only a single ......:在一台电脑上只允许运行一个exe程序,若是允许多个,可以不勾选

最后点击”Next“。

5、 invocation配置。也就是添加jar文件和指定主方法。点击绿色的”+“号,在弹出框里选择lib中的jar包(如图2),然后”OK“。这个只能一个一个的添加,要是用的jar包比较多加起来还挺麻烦的。 


lib中的jar都添加完了之后,指定main方法,点击”main class“后面的按钮,在弹出框里面找到程序的主方法,如图,添加进去。


这两步都OK之后,最后的结果是:

有时候系统中除了用到jar包之外,还会用到dll文件,而上面的添加jar包的步骤中不能添加dll文件,将dll文件放在与exe同级目录下也一样会因为dll的问题导致系统出错,甚至于放到system32文件夹下也没用。我在弄这个系统的时候,就有dll文件,折腾了大半天,也找了好久的资料(找的过程中发现好多人在这一步也很苦恼),后来发现,其实exe4j早就考虑到这个问题了,就是上图中的Advanced Options,即:

可以通过这个添加任何非dll的文件所在的文件夹,操作很简单,点击之后弹出如下图的对话框,点击绿色“+”号, 选择dll文件所在目录,我这里是放在lib目录下的,所以选择lib,添加完之后,结果如下:

6、 配置jre。配置jre的最小版本,即低于这个版本的Jre无法运行该程序。最大版本也是一样的。我用的jdk是1.6的,所以配置最小为1.6。最大的可以不设置。

 接着点击“Advanced Options”-“Search sequence”,设置一下我们的JRE,因为客户的机器上未必有jre所以咱们自己带一个比较好。在弹出的框里面点击绿色的”+“号,在Define search sequence entry中选择Direcotry,并给定jre所在目录。然后”OK“。

jre添加完成之后效果如下: 

7、完后的三步都是用默认操作,一路Next即可。直到如下界面:

到这个界面说明已经生成完成了。 还需要说的有三点:

1、Click here to Start the Application:这个按钮时用来测试执行程序的,点击该按钮即可启动exe执行程序。

2、Save As:这个很重要。这个保存了以上运行步骤的过程,保存后会生成一个exe4j,以后如果需要将该程序重新打exe,直接运行这个exe4j文件即可,以后的各种配置都被存入这个文件了,基本上一路next就成,特别好用。

3、Restart:这个restart有点误导人。Restart是重启的意思,在这的话更容易理解成重新生成。我开始弄的时候弄错了,想重新生成一下,于是点了这个,结果直接给我跳到第一步重新来了。所幸各种设置都还在,要是给我清空我不得重来一回。

8、最后的结果应该这个样子的:

 说明:上面的截图中有设置exe的图标,为了测试我不设置图标会出现什么效果,我这里没有添加图标。其他的跟截图都是一样的。

 

四、组织给客户的东西:

新建一个文件夹,将JRE文件夹和生成的exe执行程序拷贝到文件夹下。若是系统里面用到了dll文件,这在一步还需要添加dll的文件信息,上文中有提到添加dll文件:是选择的dll所在的文件夹,这里也一样,将dll所在的文件夹复制过来与exe同级,再删掉里面的jar包。为什么这么处理呢?因为exe4j对于这些非jar文件不会像jar包一样包装进exe,它只记录它们的具体位置(也就是让我们选的dll目录),所以才需要我们手动添加dll文件及目录且目录名称一定要与选择的目录相同。最后,双击exe,测试程序效果是否有误。

 

至此整个过程完成。

 

来源:http://1017401036.iteye.com/blog/2248488


http://chatgpt.dhexx.cn/article/O25FWvEY.shtml

相关文章

exe4j的安装与激活

1.下载 官网地址:https://www.ej-technologies.com/download/exe4j/files 6.0需要jdk1.8(本文下载是5.1) 2.安装——打开 激活:点击enter license 名称、公司随便填: A-XVK258563F-1p4lv7mg7sav A-XVK209982F-1y0i…

使用exe4j打包exe

原文地址:https://blog.csdn.net/qq_20473985/article/details/53186216 首先,需要下载一个exe4j的软件,网址:http://www.softpedia.com/get/Authoring-tools/Setup-creators/exe4j.shtml。 现在主要说一下怎么打exe的过程&#…

exe4j打包exe

一、过程如下 先将jar包和jre放在同一个文件,这里直接将jre也一起打包,这样的话,即使对方没有jar环境也可以运行该项目 启动exe4j,开始打包 -Dfile.encodingutf-8 -Dexe.path${EXE4J_EXEDIR}-Dfile.encodingutf-8 -Dexe.path…

exe4j安装及下载

1.首先去官网下载exe4j:https://www.ej-technologies.com/download/exe4j/files,选择对用版本下载 2.下载完成后,一直下一步就可以,如果对下载位置有要求,请自行变更 3.exe4j下载完成后需要添加注册码,否则每次打开都…

exe4j打成的exe文件运行时每次弹窗this executable was created with an evaluation version of exe4j

用exe4j打包的exe程序每次运行都会弹框提示如题所示。正常的程序不会提示这个,发布时必须去掉。搜索了一下找到网友给的方法。如下: 这是因为没有激活造成的,激活码网上很多,这里给一个L-g782dn2d-1f1yqxx1rv1sqd 点击welcome页的右下角的License, Name和…

java生成exe打包工具exe4j

exe4j.exe下载地址: http://download.ej-technologies.com/exe4j/exe4j_windows_4_0_1.exe 第一次安装时会出现下面的对话框: 它要求系统有1.5版本以上的JDK,点Download在线下载,如果你的机器上有JDK,点Locate找到你机器上已安装的…

超详细exe4j使用说明

超详细exe4j使用说明 1. 准备工作 ① 官网下载exe4j ,官网地址:https://www.ej-technologies.com/download/exe4j/files ② 确保已经安装了JDK,并且配置了环境变量,否则会导致打不开 ③ exe文件在安装目录的bin文件夹下 2. 直…

EXE4J(Windows Launcher Generator)——EXE4J概述、下载以及使用

基本概念 EXE4J:exe4j is a Windows launcher generator, that is included for free when you purchase install4j. exe4j is useful if you want to create a Java launcher without an installer. EXE4J:exe4j是Windows启动器生成器,购买i…

exe4j详细使用教程(附下载安装链接)

一、exe4j介绍 ​ exe4j是一个帮助你集成Java应用程序到Windows操作环境的java可执行文件生成工具,无论这些应用是用于服务器,还是图形用户界面(GUI)或命令行的应用程序。如果你想在任务管理器中及Windows XP分组的用户友好任务栏…

kubernetes rbac 权限管理

文章目录 访问控制概述kubernetes 下的 rbacServiceAccountK8s角色&角色绑定角色(Role和ClusterRole)角色绑定(RoleBinding和ClusterRoleBinding) 访问控制概述 访问控制是云原生中的一个重要组成部分,也是一个 K…

Kubernetes(k8s)权限管理RBAC详解

文章目录 一、简介二、用户分类三、K8s角色&角色绑定(以ServiceAccount展开讲解)1)授权介绍2)角色(Role和ClusterRole)3)角色绑定(RoleBinding和ClusterRoleBinding)…

RBAC权限管理设计

RBAC权限管理设计 一、RBAC组成1. RBAC2. RBAC组成3. RBAC支持的安全原则4. RBAC的优缺点 二、RBAC权限分配1. RBAC的功能模块2. RBAC权限分配操作过程:3. 后端如何判断用户权限 一、RBAC组成 1. RBAC RBAC:基于角色的权限访问控制(Role-Ba…

RBAC基本流程实现

RBAC中最重要的一个名词是role角色,项目中每个账号的权限不同,所以看到的东西,可以做的操作是不一样的,所以引入这个是非常有必要的,下面图中是5个表的实现,但是为了方便理解,用户表——角色表省…

RBAC用户权限管理数据库设计

RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。…

RBAC(基于角色的访问控制) 权限

一、RBAC基础知识 1、RBAC的组成: 1:由3个基础的部分组成:用户、角色和权限; 2:RBAC通过定义角色的权限,并对用户授予某个角色从而来控制用户的权限,实现了用户和权限的逻辑分离,极大…

RBAC权限设计详解

权限设置 1.权限点 权限:在一个系统内是否具有做某个操作的权利权限分为两个级别 1. 菜单权限:是否有权限访问某个菜单 2.按钮权限:是否有权限操作 页面上的某个按钮功能 2.业务逻辑 对于权限数据来说,有两个级别的设置 1.能不能访问谋个页面 2.在页面上,能不能操作某个按…

RBAC 模型是什么?

RBAC 模型是什么? 美国国家标准与技术研究院(The National Institute of Standards and Technology)认为 RBAC 模型由 4 个基础模型组成: 1. 基本模型 RBAC0(Core RBAC)2. 角色分层模型 RBAC1(Hierarcha…

什么是RBAC?

什么是RBAC? 全称:role-based access control 基于角色的权限访问控制 作用:实现访问控制 RBAC模型概括 RBAC权限授权的过程可以概括为:W是否可以对Z进行H的访问操作,并对这个逻辑表达式进行判断是否为true的过程&…

RBAC(一)

介绍 RBAC(基于角色的权限控制,role base access control)是一种设计模式,用于设计和管理权限相关数据的一种模型。 RBAC认为权限授权的过程可以抽象地概括为:Who是否可以对What进行How的访问操作,并对这个逻辑表达式进行判断是否…

RBAC浅谈(一)RBAC的基本概念

1.概念 RBAC即Role Based Access Control,意为基于角色的访问控制。用户与角色相关联,当用户在系统进行注册时可以选择成为某一角色从而拥有这个角色的权限,当然新注册的用户的权限也可以由上一级用户授予如管理员认定某个用户为某个角色就授…