Chinaunix首页 | 论坛 | 博客
  • 博客访问: 207969
  • 博文数量: 16
  • 博客积分: 371
  • 博客等级: 二等列兵
  • 技术积分: 170
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-09 21:56
文章分类

全部博文(16)

文章存档

2015年(4)

2012年(3)

2011年(9)

分类: Java

2011-12-14 20:09:54


至于为什么打包成jar,exe。jar是什么,百度谷歌一下。
一.JAVA程序打包成jar 
首先编译你的源程序代码这里以hello.java为例,以下斜体部分为命令输入。 
打开命令提示符(在开始菜单中找到运行,输入cmd回车)输入javac hello.java( 这里我略去路径)
然后打包成jar文件 jar cvf hello.jar hello.class这里将hello.class归档到hello.jar中 
查看代码文件夹下面生成的jar文件,用解压软件打开然后将里面的MANIFEST.MF解压到代码文件夹下,用记事本或其他工具编辑这个文件,把我们程序相关信息写进去
Manifest-Version: 1.0
Created-By: 1.7.0 (Oracle Corporation)
Main-Class: hello 
这里斜体为自己添加的,注意冒号后面有空格 
下面更新jar包jar  umf  MANIFEST.MF  hello.jar 
最后运行java -jar hello.jar(执行) 
二.将jar文件生成exe文件    
这里使用exe4j这个软件这个可以网上去搜,一堆一堆的    
解压缩exe4j后打开bin目录下面的exe4j.exe,如果提示
这是说该软件没有检测到你的系统上安装JAVA环境。如果你没装JDK,这不可能,你是怎么编译代码到这步的,所以应该是你的环境变量设置有问题。
<设置环境变量>
控制面板--系统安全--系统,选择高级系统设置
选择环境变量
在下面的系统变量中新建一个键值对
路径就是你的JDK安装目录,注意你的JDK版本,系统多少位的,我先用的是64位,JDK是1.7的,它死活识别不了,后来把JDK换成64位1.6了如下所示:
然后一路确定,OK了。启动exe4j.exe。
1.welcome-打开exe4j

如图,如果你有保存过的项目打包配置文件,那么点>>open打开即可。如果没有点>>next.

2.Project type-选择打包方式
由于我们讲的是打包jar生成exe,所以选“jar in exe”mode,这种方式可以把一个java应用程序打包成一个exe文件,但是不能将除jar以外的附加文件打包进去。然后>>next

3. Application info-配置生成的应用程序的信息

设置你的应用程序的名称和将要生成的可执行文件的输出文件夹。然后>>next.

4.Executable info -配置可执行文件的参数

type项根据你的程序的类型确定,本例为GUI程序;接下来是文件名、可执行文件的图标、是否只允许同时刻只能运行一个应用程序、当主线程有误时是否抛出异常、更改工作目录(相对于可执行文件)。然后点>>advanced options>>version info

5.version info-设置版本信息


6.java invocation-配置运行环境
如果你的程序需要传入参数可以在Arguments中设置,也可不写,在运行时加入 类似命令参数


先配置class path,将此项内原有的配置全部删除,然后点“+”找到你生成的jar文件,


然后在上边的general中点浏览按钮,exe4j会自动找到你应用程序的入口-main class。
在下边的advanced options中选native libraries设置,此功能是添加你程序用到的外部jar包文件,这个我一直没用过,因为我做什么事都喜欢集中,所以在程序中用到的所有外部包全整合到jdk/jre里了,这样在给客户安装程序时只要把程序直接给他考过去就可以用了,不用再安装其它东西,他们会很喜欢的哦,毕竟用户不是搞程序设计的嘛。

7.jre-配置jre

在这里配置你的jre版本类型,然后再看>>advanced option>>search sequence


在这里来配置你运行程序所需的jre/jdk的位置,如果你只是打包后本机运行,直接指定到你本机的jre/jdk目录即可,如果你打包后的程序要在别的客户机上运行,而该机又没装jdk,这时我们就要想另一种方法了。从客户的角度讲,拿到手的软件在安装过程中应尽可能少的给客户带来繁琐的安装事项,最好只点一下鼠标就能自动安装。因此,我们要让用户省去安装jdk的麻烦。要解决这个问题,我们可以把安装好的jdk复本放置在最终产品的根目录下,然后在上图中添加这个jdk复本为程序的运行环境

search registty 可以扫描已经安装的jdk/jre,我们选择directory,为程序指定一个jdk目录,只需定位到jdk根目录即可,如上图。 然后>>next
这里要说明一点,用eclipse开发的程序只要一个jre就行了,jdk不用的,所以我是把jre打包进exe运行环境的,这样的话在java version下边的那个允许使用jre beta版的选项就要选中了。
8.preferred vm-选择虚拟机

这个根据具体情况选择,本例为client. 然后>>next

9.splash screen -预载窗体

在这里可以设置你的预载窗体界面,不过好像只认gif类型的图片,status line and version line 可以在position text lines visually预览界面中调整其显示位置。然后>>next,接下来是选择语言界面,根据自己情况选择。然后>>next

10.compile executable-编译生成可执行文件

自动跳转至:

在这里可以点击运行生成的可执行文件,也可以将本次配置方案保存起来以备后用。

如果你的程序没有破解,那么在运行你生成的exe文件时就会出现提示,需要你注册,注册了就不会在出现了。


阅读(13461) | 评论(2) | 转发(3) |
给主人留下些什么吧!~~

yingao1632011-12-16 08:00:22

无色T恤: 编译完成不就行了么.....
嗯那样是可以,但是如果你写了很大一个程序,要上传到网络上,那么  jar文件就是压缩了的编译好的文件便于在网络上传输,而exe则是让它能跨平台运行,也就是一次编译,处处运行,让没有装编译环境的机器也能运行程序。

无色T恤2011-12-15 23:26:53

编译完成不就行了么