java project 发布成为可运行文件exe

全文分为两部分: 1. java工程打包exe ;2. 不依赖java虚拟机运行  

1. java project 发布成为可运行文件exe

一、导出jar文件: 

如果你的程序开发已经接近尾声了,正准备将其生成桌面可执行文件却不知道该如何操作时,你只要按照以下步骤实行即可:选中你的项目---然后右击弹出选项列表---选择Export---Java---jar file---next---browser(选择jar的存放路径)---next---next(不管太多继续下一步)---browser(选择你程序的主类--OK)---finish;查看你存放jar的目录,是否已经生成了?如果没有你一定没按照步骤操作. 

二、运行jar文件: 

生成的jar文件你可以双击运行它,但默认情况下会以压缩包的方式打开,如果这不是你想要的结果,请右击文件---打开方式---选择java(TM)platform来运行.我想这时你应该看到了你的软件界面.先恭喜你了.. 

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

方法一:

如果自己的java project中需要引用额外的jar包作为资源文件,那么需要自己自定义配置文件MANIFEST.MF ,内容示例如下:

Manifest-Version: 1.0
Class-Path: lib\crimson.jar lib\jbcl.jar lib\junit.jar lib\log4j-1.2.13.jar lib\MySQL-connector-java-3.1.13-bin.jar
Main-Class: src.YourMainClassName

其中的Class-Paht就指定了外来jar包的位置。请注意假设我们的项目打包后为project.jar,那么按照上面的定义,应该在 project.jar的同层目录下建立一个lib文件夹,并将相关的jar包放在里面。否则将会出现Exception in thread "main" java.lang.NoClassDefFoundError的错误。

最后介绍一下使用Eclipse制作jar包的过程吧:

1. 首先在Eclipse中打开项目, 右键点击项目,选择“Export”;

2. 选择Java/JAR file,Next;

3. Select the resources to export中可以选择你想要包含的项目文件夹,一些不必要的文件夹就无需放进去了,免得增大空间;

这里有几个选项:

    * Export generated class files and resources 表示只导出生成的.class文件和其他资源文件
    * Export all output folders for checked projects 表示导出选中项目的所有文件夹
    * Export java source file and resouces 表示导出的jar包中将包含你的源代码*.java,如果你不想泄漏源代码,那么就不要选这项了
    * Export refactorings for checked projects 把一些重构的信息文件也包含进去

在Select the export destination中选择导出的jar的路径,Next

4. 下一页可以选择是否导出那些含有警告warning或者错误errors的*.class文件。一般不用理他,Next

5. 下一个页面里可以对项目做一些配置。

    * Generate the manifest file是系统帮我们自动生成MANIFEST.MF文件,如果你的项目没有引用其他class-path,那可以选择这一项。
    * Use existing mainfest from workspace。这是可以选择我们自定义的.MF文件,格式如上所写。
    * Seal content。要封装整个jar或者指定的包packet
    * Main class。这里可以选择你的程序入口,将来打包出来的jar就是你这个入口类的执行结果。

最后Finish,搞定。

 方法二:

如果你在程序开发的时候用到了第三方提供的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这个软件转换jar文件为exe文件,exe4j下载地址:http://www.ej-technologies.com/download/exe4j/files.html,(目前最新版本为4.2)http://download.csdn.net/source/2393519有的需要安装,有的只要解压缩即可用.我一般用安装的exe4j软件,它们没有什么区别,因此找个可以用的就行了.下载安装后,运行它,接着按步骤操作: 

1.运行后直接点Next. 

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

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

4.在Excutable name框中输入将要生成的exe的名字,“Icon File”是应用程序显示的小图标,不选也行.继续Next. 

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

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

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

8.勾选Allow JREs with a beta version number以及Only allow JDKs and no JREs.接着Next.到这一步你可以直接finish.这样就把jar转换成exe文件了.你可以点击Click Here to Start the Application按钮测试生成的文件. 

到这里就完毕了,对你有没有帮助呢?我想多少解决一些人的烦恼是有的.. 

2. 如何不依赖java虚拟机在别的电脑上运行

本人想将一个java小程序打包成.exe的形式,并让它能在没有装jvm的机器上运行。在网上查了好多资料总算成功了,感谢网络,阿门!!!现将方法贴出来。

    一、首先下一个exe4j 。它是一个帮助你集成Java应用程序到Windows操作环境的java可执行文件生成工具。

    它的安装和使用可参考:http://hi.baidu.com/jsoftware/blog/item/c483eadd2d98b5315882dde6.html  ,写的很详细。

    这篇帖子也值得一看:http://topic.csdn.net/u/20080709/08/c892b6ce-db86-434b-a969-20a524817786.html。楼主最后的结论让我茅塞顿开:

    “1、exe4j是不可以将jre直接打包进exe中去的。但exe4j提供了一个搜索jre路径,这个路径可以是系统的环境变量,也可以是注册表,也可以是具体的某路径。
由于要实现在没有jvm的电脑上运行,搜索环境变量与注册表自然是无用功的了,所以只能搜某路径的。把jre的路径,加进去,就行了。但要注意一点:不然用绝对路径哦。我之前就是用绝对路径,导致无效的,而走了弯路的。比如可以用:./jre

2、打成安装包时,要将生成的exe文件与jre一起打包。为了确认打完包,可以用,在没打包之前,点该exe文件,要确认能运行,不然打包要白忙了。

   二、 这是我的程序文件的截图:

    

    那个tank.jar  是用MyEclipse 将程序导出的jar文件,jre 就是你的机子上安装的jre目录(JDK里面)直接拷过来的。你要想让你的程序在别人没装jre的机器上运行,就得把jre拷到你的项目下。

    三、在用exe4j的时候,关键就是设置jre那步

    

    点击 Search sequence后

    把这些默认的查找目录去掉,点绿色的“+”,

    

 

    把你拷到项目下的jre选上。这样下去一直点下一步,基本就ok了。

     

    可以看到我的目录下多了个它生成的 MyTank.exe。

    把这下面的所有东西用WINRAR打包,到别人没有jvm的机子上,解压,双击就可以运行了。我之前很SB地只把那个.exe文件拷过去,怎么也运行不了,呵呵(连jre都没有,怎么运行?所以刚才那个配置jre的过程就是让它能找到jre,你自带的jre)。

    四、  我用winrar打包后大小是31.8M ,然后我又试了试用Inno SetUp 将它打包成一个安装包,大小是20.1M。

    Inno  SetUp的使用很简单,不过我还是犯了一个错误,

    

    在下面的“其他应用程序文件”中,只需要选“添加文件夹”,选择你的项目的根目录,在弹出的“是否将子文件夹中的文件也包括在内”对话框选是,就可以了。我之前点“添加文件”,然后把目录下的文件都选择,导出得到的.exe文件虽然也是20.1M,却不能运行。我检查了一下,添加文件的时候没有把项目下的文件夹添加进去,于是我又点“添加文件夹”,把文件夹也加进去,结果还是不行。记住了!!!只需要选“添加文件夹”,选择你的项目的根目录就行



  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值