转自: https://blog.csdn.net/mommomm/article/details/8227876

若只想知道如何把jar转换成exe,直接看第四步即可。

一、导出jar文件:

选中你的项目---然后右击弹出选项列表---选择Export---Java---jar file---next---browser(选择jar的存放路径)---next---next(不管太多继续下一步)---browser(选择你程序的主类--OK)---finish;

二、运行jar文件:

生成的jar文件你可以双击运行它,但默认情况下会以压缩包的方式打开,如果这不是你想要的结果,请右击文件---打开方式---选择java(TM)platform来运行.

三、连同第三方文件一并导出至jar文件:

如果你在程序开发的时候用到了第三方提供的API或者其它附属资源,在你导出生成jar文件时你必须将第三方的文件一并导出,不然你的程序运行将达不到你想要的结果.

你可以利用Fat jar插件生成jar,Fat jar 的下载地址:http://sourceforge.net/projects/fjep/ 下载的文件是net.sf.fjep.fatjar_0.0.31.zip,解压缩后你会看到plugins文件夹中的net.sf.fjep.fatjar_0.0.31.jar文件(简称Fat jar).

插件安装:把Fat jar文件拷贝到你的eclipse目录下的plugins中..重新启动你的eclipse平台,然后查看Window---preferences,弹出的窗口中有Fat jar preferences这一项则说明你已经安装成功了,没有这一项则未安装成功,需要多做如下几步操作:到你的eclipse目录下的configuration---org.eclipse.update,并删除platform.xml文件,然后重新启动eclipse.查看Window---preferences,你会发现Fat jar preferences这一项.恭喜你安装成功了.(未成功可直接去墙撞死)..

用Fat jar打包:右击你的项目,选项列表中有Build Fat jar这一项,选择它,弹出的窗口你会觉得特别亲切,一目了然使用很方便,点击Browser(Main-Class选择你的主类)---next---finish(勾选你需要一起打包的资源,默认为全部勾选).瞧,jar文件就生成在你的工程项目中了.运行它,一切顺利,否则就是你编程的问题了..

另:如果你不想用Fat jar来打包,有一个更快捷的方法可以帮助你,但也是有缺陷的.

步骤:将你需要用到的附属文件放到你的jre安装目录下的\lib\ext目录中(安装JDK的同时也安装了jre),再通过(一、导出jar文件)的方式生成jar.这样就可以了.它有个致命的缺点就是,这样的jar文件只能在你本机可以使用,如果要在别的机子上运行必需在\lib\ext放置同样的附属资源.

四、将jar文件转换成exe可执行文件:

exe文件使用方便,而且还可以提高源码及资源的安全性,但同时也失去了java的初衷--跨平台性.

如果你坚持要转换成exe文件,请按以下方式进行:

利用exe4j这个软件,下载地址:http://www.ej-technologies.com/download/exe4j/files.html,下载安装后,运行它,接着按步骤操作:

1.运行后直接点Next. 

2.选择第二项“JAR in EXE mode”,之后点击Next.

3.在General---Short name of your application框中输入你的应用程序的名字(随便即可),在Directories---Output directory框中输入生成exe后的保存路径,然后Next.

4.在Excutable name框中输入将要生成的exe的名字,继续Next.

5.必须先配置Class-Path(点击+号添加文件,即jar文件),如果有用到其它资源需要把资源一起添加进去.

6.General --- Main Class选择主类.

7.Java Version --- Minimum version(低版本必须填写),Maximum version(高版本可以为空),如果都有填写那么高版本的值必须大于低版本的值.

勾选Allow JREs with a beta version number以及Only allow JDKs and no JREs.

8.点击Finish或者一直Next到Finish. 这样就把jar转换成exe文件了.你可以点击Click Here to Start the Application按钮测试生成的文件.

下图是我所选中目录中生成的exe文件:

注:常见报错信息及解决办法

 

错误提示:JAVA虚拟机发现JAVA_HOME损坏,需要重装或者定义EXE4J的JAVA_HOME配置指向一个32位的JDK或者JRE。

  原因是EXE4J在打包JAR文件成EXE文件的过程中,自动生成支持32位JVM的可执行文件。

解决方法:

  1.如果你的JVM是64位的,在配置可执行EXE文件的过程中需要配置生成64位的,一定要勾上下面的设置;这种情况一般是因为电脑是64位系统,

     所以安装了64位的jre,打包EXE时需要安装64位的EXE4J软件,打包生成的可执行文件也应该是64位的。

  2.如果你的JVM是32位的,在配置可执行EXE文件的过程中不需要配置生成64位的,即不需要勾上下面的设置;这种情况一般是因为电脑是32位系统,

所以安装了32位的jre,打包EXE时需要安装32位的EXE4J软件,打包生成的可执行文件也应该是32位的。

一步一步back退回到第四步,点击Advanced Options

点击 32-bit or 64-bit

勾选下图中的框,依次点击Next即可。

eclipse导出jar,再转换为exe可执行程序的更多相关文章

  1. 将Java代码打包成jar文件转换为.exe可执行程序方法

    ​ 做完学生管理系统后我想将代码打包成一个可执行程序,那样就可以直接点击在Windows下运行了,下面就跟大家分享下打包方法. 将Java的代码转换成 .exe 文件需要先把代码打包成 jar 文件然 ...

  2. eclipse导出jar(含依赖)三步走

    之前用eclipse导出jar运行结果一直不尽人意,排查问题排查很久,最终确定到导出jar时,如果依赖jdk以外的jar时,就要通知eclipse 看了很多帖子,感觉操作起来都比较麻烦,注意点也比较多 ...

  3. java代码打包成jar以及转换为exe

    教你如何把java代码打包成jar文件以及转换为exe可执行文件 1.背景: 学习java时,教材中关于如题问题,只有一小节说明,而且要自己写麻烦的配置文件,最终结果却只能转换为jar文件.实在是心有 ...

  4. eclipse导出jar包

    第一种:普通类导出jar包,我说的普通类就是指此类包含main方法,并且没有用到别的jar包. 1.在eclipse中选择你要导出的类或者package,右击,选择Export子选项: 2.在弹出的对 ...

  5. 【Java】Eclipse导出jar包与javadoc

    1.导出jar包 2.导出javadoc 3.jar包添加javadoc 4.出错解决 参考资料: http://www.cnblogs.com/cyh123/p/3345889.html http: ...

  6. Eclipse导出jar包Unity打包错误

    前几天接SDK使用的是Android Studio昨天打开AndroidStudio后自动更新了gradler然后失败了然后AndroidStudio就挂了.就是用之前的方法Eclipse到处jar包 ...

  7. Eclipse导出JAR过程

    Eclipse是一款免费的JAVA开发环境,被各个软件公司使用,可以说是目前使用最多的JAVA开发工具了,网址:http://www.eclipse.org 下面演示如何建立JAVA工程和导出JAR: ...

  8. eclipse 导出jar 没有主清单属性的解决方法

    eclipse编写导出的jar文件,运行出现了没有主清单属性,问题在哪里呢?有下面几种方法: 1. 导出jar文件的时候选择[可运行的jar文件]而不是[Jar文件]即可,如下图: 2. 在jar文件 ...

  9. 怎么用eclipse生成jar文件?eclipse导出jar介绍

    1 .我们先要增加jar需要的配置文件,选中项目的src目录,鼠标右键,选择 [New] -选择 [Folder] . 2. 输入META-INF 作为目录名称,点击[Finish] . 3. 选中刚 ...

随机推荐

  1. SPOJ BALNUM ★(位压缩状态+数位DP)

    题意 求区间[A,B]上的平衡数个数.平衡数是这样的数:在数的各个位上,奇数数字出现偶数次,偶数数字出现奇数次. 思路 很明显我们需要记录每一位出现的次数.分别记录是不明智的,而我们又只需要记录奇数次 ...

  2. OpenStack Mitaka Neutron SR-IOV配置

    ### 一.在所有节点(控制节点.计算节点) 1.修改BIOS ``` BOIS里面开启SR-IOV功能 开启 VT-d (inter virtualization technology)和 SR-I ...

  3. 【hive】多表插入

    from or_table insert overwrite table1 name1 select … insert into table2 name2 select … 注意:select 后边不 ...

  4. Accesshelper.cs

    using System; using System.Data; using System.Data.OleDb; using System.Collections; using System.IO; ...

  5. Flask项目中的蓝图简介及使用方式

    Blueprint概念 简单来说,Blueprint 是一个存储操作方法的容器,这些操作在这个Blueprint 被注册到一个应用之后就可以被调用,Flask 可以通过Blueprint来组织URL以 ...

  6. Corosync+pacemaker实现集群的高可用

    一.Corosync和pacemaker的了解: Corosync是集群管理套件的一部分,他在传递信息的时候可以通过一个简单的配置文件来定义信息传递的方式和协议等.也就是说,corosync是Mess ...

  7. SQL事务的四种隔离级别和MySQL多版本并发控制

      SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的那些改变时可见的,那些是不可见的.低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销. ReadUncommitted( ...

  8. Buildroot构建指南——工具链

    Linux系统的交叉编译工具链用来将源代码变成bin文件或者库文件的一个软件.一般大家默认工具链等于gcc或者arm-linux-gcc,但是实际上,gcc只是工具链的编译器部分,不是全部,制作一个工 ...

  9. [置顶] 【机器学习PAI实践七】文本分析算法实现新闻自动分类

    一.背景 新闻分类是文本挖掘领域较为常见的场景.目前很多媒体或是内容生产商对于新闻这种文本的分类常常采用人肉打标的方式,消耗了大量的人力资源.本文尝试通过智能的文本挖掘算法对于新闻文本进行分类.无需任 ...

  10. 用sublime server 启动本地服务器(手机访问电脑页面)

    安装sublime server 插件包           1.Ctrl + shift + p                      install package               ...