当前位置:编程学习 > JAVA >>

java发布桌面软件,我应该如何去做

最近用java做了个小软件,目前只能双击jar打开,在国内,大部分都是windos系统,当然有钱人家里可能用苹果,那么自然是ios系统, 最近稍微浏览了些将java做成exe的文章, 粗略浏览,疑惑重重, 自然先想到了jre的问题,
1  发布软件的时候是否连jre一块发布?
2  不同系统对应的jre是不同的, 那么软件里是否要捆绑各个系统的jre吗?(32位的,64位的)
3  有无好的简介方法,开发完的软件 做成exe 然后就能在 32位windos和64位windos 顺利跑起(暂不考虑苹果)
4 求有经验的人给点细心指导!
   分不多了, 但问题好多,希望大家见谅 Java 软件 发布 --------------------编程问答-------------------- 1 一般是不发布JRE的,因为太大了,而且我不确定你是否有发布JRE的权利。
2 32位与64位系统是分开发布的,而64位系统能兼容32位程序。所以如果你的程序不需海量内存以及针对64位系统的性能优化,只发布32位的程序就行了
3 这个应该能满足你要求:http://launch4j.sourceforge.net/ (可能需要科学上网)

分神马的没在管的 --------------------编程问答-------------------- 一般桌面程序的话还是不要用java去写了,试试用qt写呗。

实在要弄的话,jre是必须得集成进去的。可以做2个版本,32和64的分开做 --------------------编程问答-------------------- Java web start! --------------------编程问答--------------------
launch4j是Java应用程序的Windows本地可执行文件 (.exe) 封装器。提供了本地弹出屏幕,应用程序图标,JRE搜索或使用绑定的JRE,启动失败反馈,传递命令行参数,ant脚本。

  Launch4j是一个开源的安装程序,将您的jar文件打包成操作系统的本地可执行文件,支持Windows, MacOS,Linux和Solaris。对于JRE,您可以嵌入在安装文件中,也可以在安装时提示用户下载正确的JRE版本。Launch4j更加吸引人的地方是,在启动Java程序之前或者之中,支持闪屏(splash screen)。
http://download.csdn.net/detail/lujianfu/2898795 --------------------编程问答-------------------- 改C#甚至MFC --------------------编程问答-------------------- jre一般不需要打包到程序中,只要发布你的java程序即可。

jre程序是java和操作系统对接的一层程序,所以他需要更具操作系统的不同选择不同的版本,至于java程序就不用考虑jre类型(64为/32为、win/linux 等等),同一个版本号的jre支持的java特性是一样的,所以在不同系统上java程序都可以正常运行。不同类型的jre只是针对操作系统的不同特性用了不同兼容方法,统一相系统关接口(就是这些工作才使得java具有较好的快平台性),这里的不同仅仅是和操作系统的对接上,对于java程序的支持特性是一样的。
--------------------编程问答--------------------
引用 2 楼 typedef_god 的回复:
一般桌面程序的话还是不要用java去写了,试试用qt写呗。

实在要弄的话,jre是必须得集成进去的。可以做2个版本,32和64的分开做

QT是什么?求指导 --------------------编程问答--------------------
引用 4 楼 lujianfu 的回复:
launch4j是Java应用程序的Windows本地可执行文件 (.exe) 封装器。提供了本地弹出屏幕,应用程序图标,JRE搜索或使用绑定的JRE,启动失败反馈,传递命令行参数,ant脚本。

  Launch4j是一个开源的安装程序,将您的jar文件打包成操作系统的本地可执行文件,支持Windows, MacOS,Linux和Solaris。对于JRE,您可以嵌入在安装文件中,也可以在安装时提示用户下载正确的JRE版本。Launch4j更加吸引人的地方是,在启动Java程序之前或者之中,支持闪屏(splash screen)。
http://download.csdn.net/detail/lujianfu/2898795


了解。 --------------------编程问答-------------------- 写个手顺,让客户自己安装jre --------------------编程问答-------------------- 可以绑定一个小的jre 但是少了很多包 java转exe其实就是绑定了jre

在客户机上安装jre也是可行的.这个比较方便稳定 --------------------编程问答-------------------- http://tcrct.iteye.com/blog/350503楼主可以参考一下。。 --------------------编程问答-------------------- 1. Java桌面程序打包成exe可执行文件
我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同。其实将java程序打包成exe也需要这个可执行jar文件。

A. 第一步,将java项目打包成可执行jar文件
有两种方式:
一是直接通过eclipse export导出
首先看一下我的java project结构,Main.java是程序入口类,里面有main函数,config目录是些配置文件,lib是用到的第三方类库
 
开始打包,Simulate(Java项目)-鼠标右键-Export
 
弹出窗口,选择“JAR file”,点击“Next”
 
取消勾选“config”和“lib”目录,以及eclipse生成的项目配置文件“.classpath”和“.project”,点击“Next”
 

一切默认,点击“Next”
 

在弹出窗口中,选择我们自己创建的MANIFEST.MF文件,点击“Finish”
 
我的MANIFEST.MF文件内容为:

Manifest-Version: 1.0
Main-Class: bing.Main
Class-Path: . lib/ojdbc14.jar lib/poi-2.5.1.jar lib/jbcl.jar lib/JTattoo.jar lib/liquidlnf.jar
Created-By: IceWee

通过指定“Main-Class”来达到可执行jar文件的目的。其实我们最终是将项目打包成exe,Class-Path可以不指定,在打包exe的时候还要指定classpath的。

一是通过net.sf.fjep.fatjar_0.0.31.jar(配合exe4j使用的插件包),直接导出
 
 
直接finisgh,导出jar在当前项目根目录下。

B. 第二步,将项目打包成exe
这里要明确一点,并不是把所有的文件都打包成一个exe,资源文件是不能包进去的
首先,在任意目录创建一个文件夹,最好命名和项目名相同,我在F盘创建了一个“Simulate”文件夹,之后将所有的资源文件以及我们生成的可执行jar文件(我的Simulate.jar)都拷贝到这个文件夹里,config目录和lib目录,如果你怕执行该程序的机器上没安装jre,那么你需要将自己机器上的jre目录也拷贝进来,我安装的jre5,最后的目录结构: 

打开exe4j,跳过欢迎,直接点击左侧导航的第二项,因为我们已经提前将java项目打包成可执行jar文件了
 

在弹出窗口,选择“JAR in EXE mode”,点击“Next”
 

在新窗口中,为我们的应用取个名称,之后选择exe生成目录(我的F:\Simulate),点击“Next”
 

为我们要生成的exe取名,如果想生成自定义图标,那么选择你的ico文件,如果你不想在一台电脑上运行多个你的程序,你可以勾选“Allow only a single...”,点击“Next”

 

点击绿色“+”,设置程序运行的Class Path
 

先选择我们自己的可执行jar文件(我的Simulate.jar),点击OK
 

我们的Simulate.jar就加到Class Path下了
 

之后点击General中的Main Class选择按钮,在弹出窗口中,exe4j会自动搜索当前Class Path下的全部jar中包含main方法的类,并列出,因为当前我只选择了自己项目的jar,而我的项目中只有Main.jar包含了main方法,所以一目了然,直接选择它点击“OK”,程序入口类就设置完成了
 

Main Class设置完成后,依次将所有需要的第三方类库加到Class Path下,方法同添加“Simulate.jar”一样,点击“Next”
 

输入Java最小Jre版本号,即低于这个版本的Jre无法运行该程序,接着点击“Advanced Options”-“Search sequence”,设置一下我们的JRE,之前说过,如果客户机上没装Jre咋办?,没关系我们捆绑一个进去
 

点击绿色“+”来选择捆绑的JRE位置
 

在弹出对话框中选择“Directiony”,之后选择JRE的文件夹,注意:这个JRE目录是我们将本机的JRE目录拷贝到当前exe生成目录下的,我的目录是F:\Simulate\jre5,下图程序使用的是相对目录,点击OK,完成JRE的捆绑操作
 
JRE捆绑完毕,点击“Next”
 
默认,点击“Next”
 

默认,点击“Next”
 

exe生成中
 

OK,完成,点击“Exit”即可
 

看看成果如何吧!
 
我们的可执行jar以及第三方jar总共还不到5M,可jre5目录就50多M,如果目标机器上有JRE环境就可以把它删掉了,lib目录是第三方jar文件,现已打包到exe中了,所以它也没有存在的理由了,那么最小配置就剩下了“Simulate.exe”和“config”目录了!
--------------------编程问答-------------------- 图片加不进来,给个邮箱我发你 --------------------编程问答--------------------
引用 7 楼 confirmAname 的回复:
Quote: 引用 2 楼 typedef_god 的回复:

一般桌面程序的话还是不要用java去写了,试试用qt写呗。

实在要弄的话,jre是必须得集成进去的。可以做2个版本,32和64的分开做

QT是什么?求指导

http://baike.baidu.com/view/23681.htm --------------------编程问答-------------------- 除
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,