Discuz教程网

简单打包Java程序

[复制链接]
authicon dly 发表于 2010-11-21 17:01:10 | 显示全部楼层 |阅读模式

    好不容易写一个自己还稍微满意的Java小程序,可每次都要编译,然后再运行,多累?!

    那么怎么才能将Java程序打包呢?

    本来用JDK的bin目录下的jar.exe可以完成应用程序打包成.jar文件( Jar文件常常用于Java应用程序的包装发布,可以正常运行在装有JRE的机器上),不过有点复杂,命令的使用足以让许多朋友厌烦和出错,在这里我就提供我尊敬的导师的一个小方法!


(一)、打包材料:

        WinRar软件、编译成功的Java文件。

(二)、打包过程:

1.创建文件夹META-INF

2.在文件夹下建立标明文件MANIFEST.MF(可以用记事本编辑),其内容如下:

  Main-Class:(空格)主类名(回车)

3.选择文件夹META-INF和要包装的class文件(如果class文件已经打包(package)至软件包,则选择以包名命名的文件夹),把它们添加至档案文件。


下面就以实例说明:

呃,我的Java咧,学得不好,所以就不丢人了,到网上找了个现成的,Clock.java

打开程序后发现主类是Clock(注所谓主类就是最后在Main方法中运行的)

编译了一下,一共有如下文件:


(图1)

现在做1~2两个步骤;


(图2)

打包:将图1所示的四个文件选中,右击,选择“添加到压缩文件…”,然后在“常规”选项卡里注意压缩文件名:名字不管取什么,后缀一定要是jar,第二个就是在压缩文件格式里要选择ZIP,好,确定

(图片3)

得到文件并运行:

(图片4)

注意点:

1.虽然Windows下对大小写的区分不怎么严格,但是,这里的META-INF、MANIFEST.MF你一定要大写

2.在“Main-Class:”后面一定要加空格;

3.只需填写主类名,而不要.class后缀;

4.在行末必须要以回车结束。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x



上一篇:手把手教你用C#打包应用程序(安装程序)
下一篇:教你如何把一个java程序打包成exe文件,运行在没有java虚拟机的机器上
authicon  楼主| dly 发表于 2010-11-21 19:33:39 | 显示全部楼层
其他方法
有两种比较易用的方法:
关于两种将Java程序转化为.exe程序工具的使用及比较
一 JSmooth
1.出品
Jsmooth,Sourceforge.net
2. 类型
free
3. 下载
http://jsmooth.sourceforge.net/download.php
4. 步骤
a)利用Eclipse将所需要的主类打成可独立运行的jar包,注意添加manifest属性和MainClass。
b)新建一个Jsmooth工程
c) 在sketlon中选择“Console“ 或者 “Windowed“
d) 在Executable中的配置:
i. Executable Binary:填写目的输出源的名称。如test.exe.
ii. Executable Icon :选择一个好看点的图标
iii. Current Driectory :.(表示当前工程目录,当然也可行换成别的,As you wish.)
e) 在Application中的配置:
i. Classpath:选中我们所生成的jar包以及运行该jar文件所需要的类库
ii. Main-Class:选中我们所需要运行的主类。
iii. 可选项Use an embedded jar:运行该exe时可能需要到的类库(这里只能有一个类库)。
f) 在JVM Selection中的配置:
i. Minimum JVM Version:写一个需要运行该程序所需的最低的就JVM的版本,比如1.4
g) Compile:OK,编译成功后,在你的输出目录上就会有一个崭新的exe程序了。Just enjoy it.
二 exe4J
1. 出品
ej-technologies
2.类型
Shared software,needs license
3.下载
http://www.ej-technologies.com/download/exe4j/files.php
4. 步骤
a) 利用Eclipse将所需要的主类打成可独立运行的jar包,注意添加manifest属性和MainClass。
b) 新建一个exe4j工程
c) 选择“JAR in exe“ mode
d) 在Configure application中的配置:
i. Short name:随便写.
ii. Ourput Driectory :选择输出路径。
e) 在Configure Executable中的配置:
i. Executable type: 有三个选项,图形,控制台.或服务。从简单点开始吧,这里我们选console
ii. Executable name:填写目的输出源的名称。如test.exe
iii. Icon file:exe图标文件,但必须是.ico文件
f) 在Configure Java invocation中的配置:
i. Classpath:选中我们所生成的jar包以及运行该jar文件所需要的类库
ii. Main-Class:选中我们所需要运行的主类。
iii.Arguments(可选项):输入参数。我们这里暂不需要。
g)在Configure JRE中的配置:
i. Minimum Version:写一个需要运行该程序所需的最低的就JVM的版本,比如1.4
h) 一直next,对于所遇到的步骤选项都默认,直到finish:OK。编译成功后,在你的输出目录上就会有一个崭新的exe程序了。Just enjoy it.
三 总结和比较
由Java生成exe的工具还有很多,上面两种是我个人觉得用起来觉得比较方便的。两者的原理基本相同,但具体用起来还是有一点点不太一样的:
1.相同点
a) 最大的相同点当然是他们原理是互通的。都是通过将可运行的java程序打成可执行的jar包。再作转换。
b) 所生成的exe可执行程序,需要在装有比minimum version高的JVM环境下运行。
2. 不同点
a) 生成exe的时候,如果想要exe只需要pure JVM的环境(不需要第三方的类库)就可以运行的话。在JSmooth需要将所有的用到的第三方类库压缩成一个jar包(因为它有个embeded jar的选项),这就比较麻烦,因为当需要的jar多于一个时候,就需要将这些jar包先用jar –xvf 解压缩,在用jar –cvf重新制作新的jar文件,再放到embeded jar选项中去;而exe4J则会把classppath中所用到的jar包也会编译到exe中去。
b) JSmooth是免费的;而exe4J是共享软件,需要注册,否则在执行exe的时候会弹出很惹人烦的提示框。
c)ico文件的选择:exe4J要求严格的ico文件,而JSmooth则可以兼容jpg等其他各式的图片。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 18:19

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表