仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 551|回复: 12
打印 上一主题 下一主题

[学习教程] 来看将Java程序酿成可实行文件的复杂办法

[复制链接]
若天明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:19:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
其实你不用Struts,spring这些工具,直接用jsp,servlet能够很方便地写出来,而且,可以根据个人的水平、爱好,有很多方案。而struts,spring这些工具的出来。
运转Java程序(SWING或SWT的桌面程序)能够间接实行.class文件或将一切的.class文件及相干的其他文件紧缩成.jar文件,然后利用javaw-jarmy.jar来运转程序(个中my.jar是一个jar文件名,能够是任何指定的jar文件)。但在windows下,用户习气间接运转一个exe来实行程序。在网上有良多程序能够将my.jar或.class文件间接转换成exe文件。但良多都是将jar或.class文件放到exe里成,如许不太便利。有些工具,如javalauncher可使用一个exe程序(用c言语写的)来挪用jar文件。但偶然必要在运转程序之间做些其他的工具,比方,在客户端静态从服务端下载最新版本的程序。因而,在本文将利用delphi2009完成一个复杂的能够挪用jar文件的程序,读者能够对这个程序举行任何扩大,本文还供应了该程序的源代码和exe文件。
利用delphi创建一个VCL工程。在本程序中不必要form,因而,能够将默许天生的form删除。实践上,我们只必要挪用ShellExecute办法就能够经由过程javaw命令来实行jar文件,代码以下:
shellexecute(GetActiveWindow, open,javaw,-jarmy.jar, , SW_NORMAL);
个中GetActiveWindow办法取得以后窗口的句柄。在本程序中利用了一个config.ini文件来指定要实行的jar文件,完成的完全代码以下:
program launcher;
uses
  Forms,
  windows,shellapi, inifiles, sysUtils;

{$R *.res}
var
  ini: tinifile;
  JarFile: String;
begin
  Application.Initialize;
  ini := tinifile.Create(extractfilepath(application.ExeName) +  config.ini);
  JarFile := ini.ReadString(config, JarFile, );
  shellexecute(GetActiveWindow, open,javaw, PWideChar(-jar  + JarFile), , SW_NORMAL);
  ini.Free;
  Application.Run;
end.
在和exe不异的目次下创建一个config.ini文件,内容以下:
[config]
JarFile = jarsswt.jar
个中swt.jar文件是实行的jar文件,要放在以后目次的jars目次中。如今的目次了局以下:
launcher.exe
config.ini
jarsswt.jar
个中launcher.exe和config.ini也被包括在本文的下载文件中。读者只必要修正config.ini文件中的响应的jar文件名便可。也能够将launcher.exe改成别的的文件名。另有就是要修正launcher.exe文件的图标,能够间接在delphi2009(低版本的delphi也能够,最好7.0以上)中改,也能够找一些编纂二进制资本的程序,间接翻开launcher.exe文件,修正个中的图标。
固然,本程序也能够利用任何可天生原生可实行文件的编程言语开辟,如C、C++等。
OK,如今就能够经由过程双击launcher.exe文件来挪用jar包了。要想对launcher举行扩大,就间接修正源代码吧。实在这个完成长短常十分地复杂!!!
本文配套源码

微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包......
精灵巫婆 该用户已被删除
沙发
发表于 2015-1-20 20:30:02 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
admin 该用户已被删除
板凳
发表于 2015-1-21 10:36:22 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
莫相离 该用户已被删除
地板
发表于 2015-1-30 15:17:17 | 只看该作者
是一种使用者不需花费很多时间学习的语言
山那边是海 该用户已被删除
5#
发表于 2015-1-30 23:43:26 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
若天明 该用户已被删除
6#
 楼主| 发表于 2015-2-4 21:27:37 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
简单生活 该用户已被删除
7#
发表于 2015-2-6 13:32:34 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
爱飞 该用户已被删除
8#
发表于 2015-2-16 07:22:16 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
灵魂腐蚀 该用户已被删除
9#
发表于 2015-3-5 01:17:19 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
海妖 该用户已被删除
10#
发表于 2015-3-11 22:04:24 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
小女巫 该用户已被删除
11#
发表于 2015-3-13 04:07:08 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
老尸 该用户已被删除
12#
发表于 2015-3-13 07:07:16 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
深爱那片海 该用户已被删除
13#
发表于 2015-3-20 15:39:14 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-29 10:27

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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