java文件如何大包成可以执行得jar 、exe
看到论坛上有朋友问这个问题,我就把我这方面得研究所得公布给大家希望能给你一些帮助。前一段时间我写了一个java小软件打包可以执行得jar 文件,并且测试成功我为自己得成果感到无比的自豪。可是,几天之后我去一个朋友家玩。谈话是他对我说他把我得jar 文件给破解了。当时我还以为他在和我开玩笑,谁只他们把把我拉到电脑旁坐下。只见他打开一个Xjad2.2 java反编译工具,瞬间我得源代码暴露出来了。我不敢相信自己得眼睛,自己辛辛苦苦写得东东被人家用一个反编译工具半分钟给搞定了。我晕!!!!!!
我在思索如何才能不被别人那么轻易得到自己得源代码呢?做成exe文件,对啊!我经过不懈得努力,皇天不负有心人。我真的做到了把jar做成可以执行得exe程序。
废话我就不在多说了,就直接进入正题!!!!!!!!!!!
一、首先说一下.class文件如何打包成可以双击打开得jar 文件。
1.dos下得操作
第一步:jar cvf 打包后得文件名 文件所在得路径
例如我想把我f盘下得一个ayun.class文件打包(ayun.class必须有main函数)
jar cvf ayun.jar f:/ayun.class
OK!第一步搞定
第二步:jar uvfe ayun.jar f:/ayun
如果你有许多包必须包名+主函数类名让生成得jar可执行文件找到main函数。
例如我想把我f盘下f:/org.apache.com.ayun.class打包
jar cvf ayun.jar f:/org
jar uvfe ayun.jar f:/org.apache.com.ayun
这样便做好了 jar uvfe ayun.jar f:/org.apache.com.ayun这一步一定要小心不然生成得jar文件打不开并会报错。如会保这样得错main-class:error找不到mian函数
2.myeclispe下得操作,我用得是myeclispe5.0的版本
右键打开--->点击import下面的导出--->jar--->选择导出的jar路径--->next--->next--->选择main函数---完成
注:本人喜欢用第二种方法
一、接着说一下jar文件如何打包成可以执行的exe文件。
1.exe4j
exe4j可以打包成各种格式的exe,可以把jar打包进exe,也可以引用一个外部的jar文件,还可以打包成windows服务的程序,并且可以设置最低jre的版本,还可以设定启动画面,虽然java6.0已经实现了这一点,但是还是没有exe4j生成的启动画面快。
下载地址:http://download.csdn.net/source/927640
2.install4j
install4j是一个功能强大的,多平台Java安装文件生成工具,用于生成Java应用程序本地化的安装及应用程序发布。 install4j的优异性在于它易于使用,紧密的集成到目标平台,以及灵活的JRE 管理与部署选项。
下载地址:http://download.csdn.net/source/927687
3.InstallAnywhere
Installanywhere很好用,我以前常用这个软件。最近又要用到,找不到破解版了。Installanywhere防破解做得很不错,网上很难找到破解版。
下载地址:http://download.csdn.net/source/972131
4.Jar2Exe
本软件可以将 Jar 文件转化为 Exe 可执行文件,使采用 Java 开发的软件更加方便地执行和发布,避免了采用批处理文件进行启动带来的麻烦。生成的 Exe 可执行文件可以自动从“注册表”、“环境变量”或者“配置文件”找到运行环境,并自动执行指定的启动类。
本软件可以生成:“控制台程序”,“隐藏控制台的 Windows 窗口程序”以及“后台启动运行的 Windows NT 服务程序”三种类型的可执行文件。
下载地址:http://download.csdn.net/source/927650
5. JET
JET是一个优秀的Java语言本地编译器。但该编译器不是开源的,你可以从下面这个网站获得一个测试版本:
下载地址:http://www.excelsior-usa.com/jet.html
6.IBM AlphaWorks
使用IBM AlphaWorks提供的一个高性能Java编译器,该编译器可以从下面的地址获得:
http://www.alphaworks.ibm.com/tech/hpc
7.dos下
jar cvf ayun.jar f:/org
jar uvfe ayun.jar f:/org.apache.com.ayun
jar cvf ayun.exe f:/ayun.jar
此种方法和上面讲的打包.class雷同,相信你的一定能搞到,在这里我不在赘述。
2009-11-10
java打包-exe文件-最终以setup形式发布的解决之道
java打包-exe文件-最终以setup形式发布的解决之道
首先,将编译好的程序打包成jar文件,然后做出exe,这样代码就不可见了;但是exe文件在没有安装jre的电脑上不能运行,如果要求客户再去安装jre 设置环境变量 就不雅了。我们需要将jre打包。
这几步操作网上介绍的插件和方法很多,但有的好用有的不好用,而且有的还需要注册。经过尝试比较,在“千里冰封”的博客上得到了很大的帮助。整理一下。使用这几个工具,您也可以顺利的发布您的java程序!
(推荐用第3种方法)
1 打包成双击可执行的jar文件。
推荐插件:fatJar(Eclipse使用)
下载地址 http://sourceforge.net/project/s ... p;package_id=125924
我用的是Eclipse,它自带的打包方法在打包一些图片等资源时不是很爽。可以使用这个插件。
安装方法解压后将plugins文件夹下的net.sf.fjep.fatjar_0.0.24文件夹拷到eclipse安装目录的plugins 下。
用此工具可以方便的将eclipse中的工程打包成jar文件。如果是要打成可执行的jar请注意选取主类。
你的项目=〉Export..=>向导里有fat jar =>...
2 将jar文件转换成exe文件。
推荐工具:exe4j
用exe4j把java打包成exe
http://download.ej-technologies.com/exe4j/exe4j_windows_4_1_1.exe
通用注册码:L-g782dn2d-1f1yqxx1rv1sqd
在我们写程序的时候,有时会有一种需求,那就是希望我们的程序是一个可执行文件,而不是一个jar文件,其实大部份时候,可执行的jar文件都可以满足要求,但是如果我们的程序是需要保护的,那么打包成jar文件就不太安全了,因为jar文件就是一个解压缩文件,一解压就什么都能看到了,当然也可以选择混淆,但是混淆了以后排错就没那么容易了,因为混淆的时候,把一些类的信息都混淆了。如何既保证代码的安全又容易排错呢?那么打包成exe就是一种很好的办法了,其实我今天介绍这个方法并不是希望大家去打包成exe文件,因为exe文件毕竟不是跨平台的,用了exe的格式就失去了java的初衷了。
exe4j可以打包成各种格式的exe,可以把jar打包进exe,也可以引用一个外部的jar文件,还可以打包成windows服务的程序,并且可以设置最低jre的版本,还可以设定启动画面,虽然java6.0已经实现了这一点,但是还是没有exe4j生成的启动画面快。
3 将exe文件并jre打包成安装文件 可以在没有安装java虚拟机的电脑上运行
推荐工具:install4j
Install4j介绍
http://www.blogjava.net/hadeslee/archive/2007/10/15/152855.html
install4j是一个功能强大的,多平台Java安装文件生成工具,用于生成Java应用程序本地化的安装及应用程序发布。 install4j 的优异性在于它易于使用,紧密的集成到目标平台,以及灵活的JRE 管理与部署选项。
创建发布树
install4j的图形用户界面允许你:
* 完全自定义发布树
在发布树的每一个目录中,你能设置整个目录内容或是磁盘上任何目录的单个文件。定义的视图与结果视图让你能完全控制安装程序将发布的文件。
* 处理特定平台的差异
install4j提供方便的“包含/排除”机制,使其适应平台方式来进行发布。
* 针对Unix, Linux 及Mac OS X所定义的文件权限
对发布树的每一个元素,当其安装在类似于Unix这样的平台上时,你能自定义用户访问的权限。
* 定义优良的卸载策略
对发布树的每一个元素,你能决定在卸载时是否删除它。
* 定义覆盖策略
对发布树的每一个元素,你能配置不同的覆盖策略,当安装过程中需要覆盖文件时,这些覆盖策略会指示nstall4j进行相应的操作。
* 定义安装的组件
你能定义文件及目录的分组,形成分离的安装组件,这样你就可提供给用户来选择只安装一定的组件。
其实一个好的应用如果不太好布署,那么别人也只能对它望而兴叹了,现在有了install4j,很多布署的问题几乎全部解决了.我们可以用exe4j打包java应用,然后用install4j发布java应用,以前java程序布署难的问题,现在几乎都解决了.install4j不但用于打包很合适,并且它还提供了一组很强大很实用的与平台相关的api.这些对于扩展我们的程序也是有很大的帮助的.
install4j Enterprise Edition序列号
这东西搜索了半天才搞到,我安装的是3.2的,下面的序列号一样可以使用,共享一下,省得大家再去找了
install4j Enterprise Edition 3.1.3注册码、序列号、破解版、注册机
S/N: A-G42M#03948F-pzwgavu2ohmw#316
S/N: A-G42M#03948F-pzwgavu2ohmw#508
install4j Proffesional Edition 3.1.2注册码、序列号、破解版、注册机
S/N: A-G4iN#89756F-9qotdnr5rq9a#0015