如何把java程序打包成linux下可运行的客户端

如题所述

在JBuilder中生成EXE、可执行jar、带shell窗口的EXE
下面的图示是从JBuilder9截取,基本上对于版本7、8、9、X、200X来说类似。
点击Winzards菜单,选择Native Executable Builder菜单项目;

接下来进入Native Executable Builder Wizards,总共分7步:
第一步:如下图,在Name字段处给你的可执行程序命名,缺省名称为Native Executable,File是填写所需要生成的jar的名字和选择存放的位置,Compress the content of archive表示是否把jar文档里面的内容进行压缩,下面的checkbox代表是否在build项目的时候生成jar文档;

第二步:选择需要打包进jar的包、类、以及资源文件,也包括任何其他需要的文件,include class dependencies代表是否在jar包中包括所依赖的类(例如你用了一个第三方库的时候,以及其他引入的非java核心库的类),点击“Add Filters...”可以指定包括的包、类,点击“Add Files...”添加需要包括的资源文件等。

点击“Add Filter...”后出现Add Filters的窗口,如下图:

这里主要是定制过滤器,以确定包含哪些类,存在两种形式的Filter:include(包含)和exclude(排除)。可以直接对package包,也可以直接对class类,一般情况下,你在这里选择包含main方法那个主类就行了,前提是在上一个图中选中“包含依赖类”的checkbox。
Add Files就比较简单了,直接增加文件就行了,例如你程序需要的图片、配置文件等。
第三步:确定如何处理依赖库。下面图中的列表中列出来你在本项目中引入的库。
上面列出针对每个库的四种处理方式,按顺序依次是:
1、从不包含任何类和资源;
2、包含必要的类和已知的资源;
3、包含必要的类和所有资源;
4、总是包含所有类和资源;
对于每个库的默认选项都是第一个,有时候你制作的Exe会出现找不到类的错误,就可能是这里没设置好。

第四步:设置jar文档的manifest(打包清单)项目。默认是包含,并自动创建一个,一般情况下按默认设置就行了。

第五步:选择确定应用程序主类的方法。
有两种方式可以指定:1、从指定的runtime configuration中选择一个运行配置来确定,runtime configuration就是下图中下拉表中的选项:

2、直接指定一个主类(就是包含main方法的那个类)。
第六步:选择需要生成的可执行程序类型。有五种类型可供选择:
1、Window FUI类型;
2、带控制台console(就是dos窗口)的window exe类型;
3、linux下的可执行文件;
4、solaris下的可执行程序;
5、Mac OS下的可执行程序;

在这一步就可以点击Finish生成了,第七步是可选的。
第七步:运行时配置选项的设置,一般情况下这一步是不需要的,高级用户也许需要,这一步干什么用的你可以看上面的说明^-^

Finish结束了。
然后的JB左侧项目文件浏览器中就会出现如下一个图标,名字是你在第一步中指定的名字:

在此项目上鼠标右击,选择make或者rebuild就OK了。
然后在你的项目目录中就出现了一个EXE文件。
这个过程的一个副产品就是同时生成了一个可执行的jar文件^-^
说明:这里生成的EXE和普通的window exe程序是有区别的,你鼠标右击该exe文件,看看属性,原来就是个压缩文件,不过这个压缩文件和普通的压缩文件有点区别,你自己慢慢看吧,还可以解压缩后看^-^,显然这不是真正的EXE文件,也就是说还需要JRE环境支持。
如果要生成真正的EXE可以使用其它工具,例如:jet-103-eval-win32.exe,该软件能够把java class编译成无需 JVM 支持的 32 位 Windows 可执行文件。jet-103-eval-win32.exe这个文件的下载本站原来有,但是现在找不到这个程序了。
你还可以参考本站http://www.wnetw.com/jclub/technology/read.jsp?itemid=226这个连接的《利用Eclipse和JSmooth生成java EXE可执行文件》,这种方式生成也很可能是和JB生成的一样,并非win32 exe程序。

当然jbuilder也能生成exe文件,但JSmooth显然小而方便,挺简单的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-10-13
打包成jar为后缀名的文件就可以了,许多Java程序都是这样打包的, 比如OWASP ZAP(Web漏洞检测工具)、Burpsuite(Web漏洞发掘工具)、DirBuster(爆破Web目录的工具)、jedit(一个文本编辑器软件)、FreeCol(一款游戏),这些在Linux上比较有名的客户端软件都是用jar包的形式发布的。本回答被提问者采纳
相似回答