论坛首页 Java企业应用论坛

Java程序—如何精简JRE或者生成exe

浏览 36374 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (2)
作者 正文
   发表时间:2008-06-10  
最近想用java做一些桌面应用程序 比如进销存  但是老板不让 还是用delphi'
我觉得那还不如用c#
delphi是不是用的人越来越少了呢?
0 请登录后投票
   发表时间:2008-06-10  
laiseeme 写道
最近想用java做一些桌面应用程序 比如进销存  但是老板不让 还是用delphi'
我觉得那还不如用c#
delphi是不是用的人越来越少了呢?


delphi用来做界面还是非常非常非常爽的~
0 请登录后投票
   发表时间:2008-06-10  
tianzhihua 写道
王者之剑 写道
tianzhihua 写道
做成EXE到很简单,用C写一个,通过JNI调用JAVA就可以了,不过精简很难,去掉一些不必要的还有很大,参考:http://www.blogjava.net/tianzhihua/articles/99709.html

把这个问题提出来,就是想问大家的时间真的多到可以去学屠龙之技了吗
做成一个这样的exe,比用一个bat文件调用javaw -jar,高明到哪里去呢?

昨天还看到一个同学说struts2的iterator标签不支持break,和这个java不能生成exe有异曲同工之妙。

不知道你看过SWT没有,或者做个C和JAVA互调没有,作用就在这,做成EXE只是一个很简单的应用,真真的作用是让JAV可以和C(其他语言)之间可以有个沟通的桥梁

没看过,老实说我对做这种程序没兴趣,尤其是两个小的可怜的程序之间的互通。

0 请登录后投票
   发表时间:2008-06-10  
Nighthaven 写道
王者之剑 写道
Nighthaven 写道
因为很多用户的电脑上没有合适版本的jre。用一个软件的同时必须安装另外一个软件(jre)会给人一种流氓软件强行捆绑的感觉,而很多用户对此很抵触。更不要提用户电脑上的jre版本千变万化(有没有jre,是微软的还是sun的,是1.4还是1.6),与其大费周章强迫其安装你的软件所需要的版本,不如省心点把jre内置在产品里算了。

当然内置jre就牵扯到jre的大小问题,一个5m的软件内置一个10多m的jre……也许硬盘不在乎,但是对下载时间的影响还是非常明显的,软件下载的时候,用户的耐心是很有限的,所以越小越好。

至于证书的问题,连android都能发布~!无论你修改过的jre多么不符合java规范,只要你不把它叫成是java,那就不会有人管你~

android的发布协议不清楚,好像是开源免费的,至于能不能任意删减,增加,替换,然后重新编译,就不清楚了。
如果在你的产品中不提java,跨平台,可能是没人管。
但是如果自己修改sun的jre,在修改的时候就已经违反协议了,只不过你不发布,不商用,没有人能知道罢了。

为什么要用java做桌面应用呢,
个人觉得在windows下做桌面应用,可以用VB代替Java,现在用C#更快。

java做桌面应用还是不错的。拿游戏来说,windows平台的竞争者太多,小公司做个游戏卖不出去几份。如果兼容linux和mac,由于竞争对手相对较少,就相对容易卖出去。尤其是linux用户,对于游戏的渴望简直……当然linux和mac用户本身就很少,不过对于小公司来说,还是多少有些补益的。
而且就算不考虑跨平台,java因为有很多开源或者不开源的库可以用(尤其是和网络有关的库),还是挺好用的。当然还有一些人喜欢客户端和服务端使用同样的技术。1.6之后,java做桌面的劣势主要是jre最新版本的普及率过低。对于电信之类的大企业内部,由于jre很容易普及,swing(swt)做桌面还是挺流行的。

要生成exe什么的,应该不是大企业的要求:)
不是说java不能做桌面应用,而是说不要去研究怎样生成exe,这样的屠龙之技,大家不要学。
要学最有价值的部分,才不会浪费时间,才能让自己有价值。
那这种事总要有人做吧?
用一位大姐的话说:让没有看到这个讨论的人去做吧!
0 请登录后投票
   发表时间:2008-06-10  
laiseeme 写道
最近想用java做一些桌面应用程序 比如进销存  但是老板不让 还是用delphi'
我觉得那还不如用c#
delphi是不是用的人越来越少了呢?

delphi没用过,不好评论。
如果只是用在windows平台,请用C#,因为简单。
如果你对Java很熟,学会不需要一个星期。
如果你对Java不熟,学会用C#做桌面程序比用Java做要容易得多。
如果你会delphi,用delphi做就好了(听说很好用,干嘛不用?),有空学学C#。

0 请登录后投票
   发表时间:2008-06-10  
王者之剑 写道
tianzhihua 写道
王者之剑 写道
tianzhihua 写道
做成EXE到很简单,用C写一个,通过JNI调用JAVA就可以了,不过精简很难,去掉一些不必要的还有很大,参考:http://www.blogjava.net/tianzhihua/articles/99709.html

把这个问题提出来,就是想问大家的时间真的多到可以去学屠龙之技了吗
做成一个这样的exe,比用一个bat文件调用javaw -jar,高明到哪里去呢?

昨天还看到一个同学说struts2的iterator标签不支持break,和这个java不能生成exe有异曲同工之妙。

不知道你看过SWT没有,或者做个C和JAVA互调没有,作用就在这,做成EXE只是一个很简单的应用,真真的作用是让JAV可以和C(其他语言)之间可以有个沟通的桥梁

没看过,老实说我对做这种程序没兴趣,尤其是两个小的可怜的程序之间的互通。


呵呵,那是你理解错误,你做的java的软件都没有和硬件打过交道,所以觉得是很小的,而硬件的驱动程序基本都是用C写的,这种情况就需要了,最常用的就是图像采集系统,所以这种情况基本是出现在大项目中的,虽然是两个小的可怜的程序之间的互通,但是确实项目中很重要的一部分
0 请登录后投票
   发表时间:2008-06-10  
这么无聊的讨论居然没人隐藏。
自己没有这样的需求并不代表别人没有。

桌面程序对大小还是很敏感的。
1M的程序可能会多人还会下来看看,超过10M,估计大多人就懒得下来看看了。
C#或其他开发语言写桌面应用或许更方便,不过这也和个人的熟悉程度有关。
而且Java的跨平台能力还不错,用C#啥的就没这么方便了。
0 请登录后投票
   发表时间:2008-06-10  
王者之剑 写道
Nighthaven 写道
王者之剑 写道
Nighthaven 写道
因为很多用户的电脑上没有合适版本的jre。用一个软件的同时必须安装另外一个软件(jre)会给人一种流氓软件强行捆绑的感觉,而很多用户对此很抵触。更不要提用户电脑上的jre版本千变万化(有没有jre,是微软的还是sun的,是1.4还是1.6),与其大费周章强迫其安装你的软件所需要的版本,不如省心点把jre内置在产品里算了。

当然内置jre就牵扯到jre的大小问题,一个5m的软件内置一个10多m的jre……也许硬盘不在乎,但是对下载时间的影响还是非常明显的,软件下载的时候,用户的耐心是很有限的,所以越小越好。

至于证书的问题,连android都能发布~!无论你修改过的jre多么不符合java规范,只要你不把它叫成是java,那就不会有人管你~

android的发布协议不清楚,好像是开源免费的,至于能不能任意删减,增加,替换,然后重新编译,就不清楚了。
如果在你的产品中不提java,跨平台,可能是没人管。
但是如果自己修改sun的jre,在修改的时候就已经违反协议了,只不过你不发布,不商用,没有人能知道罢了。

为什么要用java做桌面应用呢,
个人觉得在windows下做桌面应用,可以用VB代替Java,现在用C#更快。

java做桌面应用还是不错的。拿游戏来说,windows平台的竞争者太多,小公司做个游戏卖不出去几份。如果兼容linux和mac,由于竞争对手相对较少,就相对容易卖出去。尤其是linux用户,对于游戏的渴望简直……当然linux和mac用户本身就很少,不过对于小公司来说,还是多少有些补益的。
而且就算不考虑跨平台,java因为有很多开源或者不开源的库可以用(尤其是和网络有关的库),还是挺好用的。当然还有一些人喜欢客户端和服务端使用同样的技术。1.6之后,java做桌面的劣势主要是jre最新版本的普及率过低。对于电信之类的大企业内部,由于jre很容易普及,swing(swt)做桌面还是挺流行的。

要生成exe什么的,应该不是大企业的要求:)
不是说java不能做桌面应用,而是说不要去研究怎样生成exe,这样的屠龙之技,大家不要学。
要学最有价值的部分,才不会浪费时间,才能让自己有价值。
那这种事总要有人做吧?
用一位大姐的话说:让没有看到这个讨论的人去做吧!

用exe4j,一路“next”,基本几分钟就能生成一个exe,算不得什么屠龙之技吧。
0 请登录后投票
   发表时间:2008-06-10  
tianzhihua 写道
王者之剑 写道
tianzhihua 写道
王者之剑 写道
tianzhihua 写道
做成EXE到很简单,用C写一个,通过JNI调用JAVA就可以了,不过精简很难,去掉一些不必要的还有很大,参考:http://www.blogjava.net/tianzhihua/articles/99709.html

把这个问题提出来,就是想问大家的时间真的多到可以去学屠龙之技了吗
做成一个这样的exe,比用一个bat文件调用javaw -jar,高明到哪里去呢?

昨天还看到一个同学说struts2的iterator标签不支持break,和这个java不能生成exe有异曲同工之妙。

不知道你看过SWT没有,或者做个C和JAVA互调没有,作用就在这,做成EXE只是一个很简单的应用,真真的作用是让JAV可以和C(其他语言)之间可以有个沟通的桥梁

没看过,老实说我对做这种程序没兴趣,尤其是两个小的可怜的程序之间的互通。


呵呵,那是你理解错误,你做的java的软件都没有和硬件打过交道,所以觉得是很小的,而硬件的驱动程序基本都是用C写的,这种情况就需要了,最常用的就是图像采集系统,所以这种情况基本是出现在大项目中的,虽然是两个小的可怜的程序之间的互通,但是确实项目中很重要的一部分

你说的图像采集那样复杂的确实没做过,和硬件打交道的做过,就是超市用的打小票的打印机。Java支持串口通讯,只要有打印机指令手册,封装一下就可以了,呵呵。没必要用VC++调打印机那样的方式编程。
0 请登录后投票
   发表时间:2008-06-10  
Nighthaven 写道
王者之剑 写道
Nighthaven 写道
王者之剑 写道
Nighthaven 写道
因为很多用户的电脑上没有合适版本的jre。用一个软件的同时必须安装另外一个软件(jre)会给人一种流氓软件强行捆绑的感觉,而很多用户对此很抵触。更不要提用户电脑上的jre版本千变万化(有没有jre,是微软的还是sun的,是1.4还是1.6),与其大费周章强迫其安装你的软件所需要的版本,不如省心点把jre内置在产品里算了。

当然内置jre就牵扯到jre的大小问题,一个5m的软件内置一个10多m的jre……也许硬盘不在乎,但是对下载时间的影响还是非常明显的,软件下载的时候,用户的耐心是很有限的,所以越小越好。

至于证书的问题,连android都能发布~!无论你修改过的jre多么不符合java规范,只要你不把它叫成是java,那就不会有人管你~

android的发布协议不清楚,好像是开源免费的,至于能不能任意删减,增加,替换,然后重新编译,就不清楚了。
如果在你的产品中不提java,跨平台,可能是没人管。
但是如果自己修改sun的jre,在修改的时候就已经违反协议了,只不过你不发布,不商用,没有人能知道罢了。

为什么要用java做桌面应用呢,
个人觉得在windows下做桌面应用,可以用VB代替Java,现在用C#更快。

java做桌面应用还是不错的。拿游戏来说,windows平台的竞争者太多,小公司做个游戏卖不出去几份。如果兼容linux和mac,由于竞争对手相对较少,就相对容易卖出去。尤其是linux用户,对于游戏的渴望简直……当然linux和mac用户本身就很少,不过对于小公司来说,还是多少有些补益的。
而且就算不考虑跨平台,java因为有很多开源或者不开源的库可以用(尤其是和网络有关的库),还是挺好用的。当然还有一些人喜欢客户端和服务端使用同样的技术。1.6之后,java做桌面的劣势主要是jre最新版本的普及率过低。对于电信之类的大企业内部,由于jre很容易普及,swing(swt)做桌面还是挺流行的。

要生成exe什么的,应该不是大企业的要求:)
不是说java不能做桌面应用,而是说不要去研究怎样生成exe,这样的屠龙之技,大家不要学。
要学最有价值的部分,才不会浪费时间,才能让自己有价值。
那这种事总要有人做吧?
用一位大姐的话说:让没有看到这个讨论的人去做吧!

用exe4j,一路“next”,基本几分钟就能生成一个exe,算不得什么屠龙之技吧。

它能不能精简JRE?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics