- 浏览: 464421 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (135)
- javascript (43)
- struts (3)
- webWork (0)
- hibernate (2)
- EJB (0)
- Spring (2)
- XML (2)
- Oracle (4)
- Mysql (0)
- C (0)
- C++ (0)
- 网络 (0)
- linux (4)
- java (28)
- 设计模式 (0)
- java 代理模式 (2)
- jsp&Servlet (2)
- Tomcat (5)
- 算法设计 (2)
- 操作技巧 (1)
- HTML (5)
- Ajax (2)
- JScript Deviations from ES3 (14)
- Eclipse (1)
- log4J (2)
- ant (1)
- HTTP (4)
- project (1)
- SqlServer (4)
- 数据仓库 (0)
最新评论
-
u012526168:
header的域名是大小写敏感的.http://stackov ...
HTTP 请求报头详解 -
junes_yu:
这样的方法有问题哦正确方法如下:document.onkeyd ...
javascript 屏蔽F5,BackSpace,IE的刷新,右键功能 -
xunke515:
第二个,如果要带顺序的话,new个treeset也可以吧.
两种方法删除ArrayList里重复元素 -
bangyulin:
java 潜拷贝和深拷贝 -
hecongqi:
谢谢,写得很好,学到知识了
浅谈Java代理机制
第一步:完成Java GUI程序
在Eclipse下,程序能够正常运行.
第二步:准备清单文件(MANIFEST.MF)
方法1:直接拷贝其它能运行的JAR文件中的MANIFEST.MF进行修改
方法2:利用IDE工具,如Eclipse在生成JAR文件时自动生成
MANIFEST.MF内容如下:
Manifest-Version: 1.0
Main-Class: manager.ui.MainFrame
Class-Path: ./lib/spring.jar ./lib/hibernate.jar ./lib/derby.jar
SplashScreen-Imager: manager/resources/images/splash.jpg
说明:
Manifest-Version - 指定清单文件的版本号
Main-Class -指定程序运行的入口类。注意:类名后不要加class扩展名
Class-Path -指定支持库的路径。“.”指程序运行目录,即导出的JAR包所在目录。程序运行时依据Class-Path项的设置路径来查找支持库。每一个支持库之间用空格隔开。在这里使用了hibernate,spring,derby.
注意:
1.如果Java应用程序用到了一些Eclipse包,那么就必须将这些包也复制到程序运行目录,设置到Class-Path,否则程序将无法运行.引用了一些外部组件也需要如此设置,如hibernate,spring,derby.
2. 除了入口类的包名和类名之外,其他设置项都不分大小写,比如:Class-Path写成class-path或CLASS-PATH也可以,swt.jar写成SWT.JAR也行。
3.类名后不要加class扩展名
4.每一行的':'后都有一个空格,如Class-Path:<空格>./lib/spring.jar
5.Class-Path中.引入的JAR文件每行不得超过19个,否则会报错.但在让人意外的是每行只有前9个有效,故将所有同类型的JAR 文件做成一个JAR文件.如我这里的spring.jar,hibernate.jar,derby.jar都是同类JAR文件的组合.
第三步:修改spring配置文件
在spring的 'sessionFactory' bean的配置中则要这样写(与程序中ClassPathXmlApplicationContext对应)
<property name="mappingLocations">
<list>
<value>manager/entity/MyFile.hbm.xml</value>
<value>manager/entity/FileType.hbm.xml</value>
...
</list>
</property>
第四步:使用Eclipse生成JAR文件
1.右键单击项目名,在弹出菜单中选择“Export”。在弹出的如下图所示的对话框中,选择“JAR文件”,单击“Next”
2.将右边不需要的文件都取消勾选。在“选择导出目标(Select the export destination)”项文本框中设置JAR包的输出路径和包名(可以任意取名)为“D:\manager\manager.jar”。接受其他的默认设置不变,单击“Next”。
附注:左边虽然选择了src目录,但源文件并不会导出到包中,除非勾选了“导出Java源代码文件和资源(Export java source files and resources)”项。
3.接受默认设置不变,单击“Next”
4.这一步较关键。如下图所示,选择“从工作空间中使用现有清单”项,将创建的清单文件输入,也可以通过旁边的“浏览”按钮来选择清单文件。输入清单文件后,单击“Finish”,Eclipse开始将项目打包。
附:这里也可以选择Generate the manifest file.但生成的清单文件MAINFEST.MF需要修改.
注意:清单文件MAINFEST.MF一定要按第二步那样设置.
生成的JAR文件目录如下:
第五步:生成运行manager.jar的批处理文件manager.bat(该步可以不要)
在manager目录下创建一个批处理程序manager.bat(名字任取,扩展名必须是bat),其内容仅一句语句,如下:
javaw -jar manager.jar
说明:
1.javaw对应c:\jdk\jre\bin\javaw.exe文件,如果windows提示命令未发现,则需要将c:\jdk\jre\bin路径加入到windows环境变量path中。
2.在运行程序的时候有一个讨厌的黑色命令行窗口,要去掉它,可以将run.bat内容更改如下:“start javaw -jar manager.jar”,start是指调用了windows的“运行”命令。
3.在后边加一个pause就可以让你看到具体哪里出错了,如:
start javaw -jar manager.jar
pause
双击manager.bat,就可以运行该JAR文件了.
第六步:让电脑不必安装JRE环境,也能运行.
通常运行Java程序有个前提条件:用户电脑必须先安装JRE环境。虽然安装JRE环境非常简单,但毕竟多了一步,算是有一点点的瑕疵。这里给出一个不必让用户安装JRE环境的方法,其实现步骤如下:
(1)将原JDK中的“jre”目录复制到“D:\manager\java”目录下(java也可换成其他名称)。
(2)将JDK和JRE从本机卸载掉,这样表示本机没有安装JAVA运行环境。
(3)修改批处理文件manager.bat中的命令为“start java\jre\bin\javaw -jar manager.jar”,仅仅是在javaw前加上了一个相对应路径。
双击manager.bat即可在不安装JRE环境的电脑运行此Java应用程序。
第七步:抛弃批处理文件(*.bat),生成exe文件
用批处理文件运行程序似乎不够专业,虽然它足以完成运行任务。但习惯就象一种毒药一旦染上就很难摆脱它的影响,Windows统治下的人们早已经习惯运行扩展名是EXE的程序,用*.bat他们就会感觉别扭。
我们可以用一个叫JavaLauncher的免费小程序来代替批处理文件去运行Java程序。JavaLauncher的下载网址是:
http://www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm
下载下来的文件是一个名JavaLauncher.zip的压缩包,解压后的目录结构如下所示:
JavaLauncher.zip目录结构
source 目录包含了JavaLauncher的源程序,是用C语言写的
changes.txt 是新版的修改说明
launch.exe 是主程序
launcher.cfg 是配置文件
readme.txt 是一些说明和示例
我们只需要launch.exe、launcher.cfg两个文件,将这两个文件复制到打包文件所在的目录。launcher.cfg是一个仅三行内容的文本文件,将它修改如下:
.\java\jre\bin\javaw.exe
-jar manager.jar
第一行设置指向JAR包managger.jar的目录,由于launch.exe和myswt.jar同在一个目录,所以用“.”即当前目录。
第二行设置指向jre\bin\javaw.exe的路径。在上面已将jre目录复制到了java子目录中
配置好launcher.cfg后,双击launch.exe即可运行java应用程序。
如果仔佃研究eclipse的启动方式,发现eclipse和JavaLauncher的原理一样:eclipse.exe相当于 launch.exe,startup.jar相当于manager.jar。只不过eclipse.exe不象launch.exe要具有通用性,所以它没有*.cfg这样的配置文件,而是将启动信息固化在eclipse.exe中。
第八步:美化图标
launch.exe文件的图标太单调了,让我们给它换个好看点的。换程序的图标需要用到一个免费的软件:Resource Hacker.
第九步:最后的打包
发送给用户之前,通常要用WinZip或WinRAR将所有的文件全部打成一个压缩包,然后用户得到这个压缩包后,将其解压缩后即可运行程序,Eclipse软件就是这种方式。
另一种方式是用InstallShield、InstallAnyWhere这样的安装程序制作软件来创建一个单一的setup.exe文件,它具有向导式的安装界面,而且还可以往windows的程序栏插入菜单项,关于这些安装程序制作软件的具体使用请参阅相关书籍。
在Eclipse下,程序能够正常运行.
第二步:准备清单文件(MANIFEST.MF)
方法1:直接拷贝其它能运行的JAR文件中的MANIFEST.MF进行修改
方法2:利用IDE工具,如Eclipse在生成JAR文件时自动生成
MANIFEST.MF内容如下:
Manifest-Version: 1.0
Main-Class: manager.ui.MainFrame
Class-Path: ./lib/spring.jar ./lib/hibernate.jar ./lib/derby.jar
SplashScreen-Imager: manager/resources/images/splash.jpg
说明:
Manifest-Version - 指定清单文件的版本号
Main-Class -指定程序运行的入口类。注意:类名后不要加class扩展名
Class-Path -指定支持库的路径。“.”指程序运行目录,即导出的JAR包所在目录。程序运行时依据Class-Path项的设置路径来查找支持库。每一个支持库之间用空格隔开。在这里使用了hibernate,spring,derby.
注意:
1.如果Java应用程序用到了一些Eclipse包,那么就必须将这些包也复制到程序运行目录,设置到Class-Path,否则程序将无法运行.引用了一些外部组件也需要如此设置,如hibernate,spring,derby.
2. 除了入口类的包名和类名之外,其他设置项都不分大小写,比如:Class-Path写成class-path或CLASS-PATH也可以,swt.jar写成SWT.JAR也行。
3.类名后不要加class扩展名
4.每一行的':'后都有一个空格,如Class-Path:<空格>./lib/spring.jar
5.Class-Path中.引入的JAR文件每行不得超过19个,否则会报错.但在让人意外的是每行只有前9个有效,故将所有同类型的JAR 文件做成一个JAR文件.如我这里的spring.jar,hibernate.jar,derby.jar都是同类JAR文件的组合.
第三步:修改spring配置文件
在spring的 'sessionFactory' bean的配置中则要这样写(与程序中ClassPathXmlApplicationContext对应)
<property name="mappingLocations">
<list>
<value>manager/entity/MyFile.hbm.xml</value>
<value>manager/entity/FileType.hbm.xml</value>
...
</list>
</property>
第四步:使用Eclipse生成JAR文件
1.右键单击项目名,在弹出菜单中选择“Export”。在弹出的如下图所示的对话框中,选择“JAR文件”,单击“Next”
2.将右边不需要的文件都取消勾选。在“选择导出目标(Select the export destination)”项文本框中设置JAR包的输出路径和包名(可以任意取名)为“D:\manager\manager.jar”。接受其他的默认设置不变,单击“Next”。
附注:左边虽然选择了src目录,但源文件并不会导出到包中,除非勾选了“导出Java源代码文件和资源(Export java source files and resources)”项。
3.接受默认设置不变,单击“Next”
4.这一步较关键。如下图所示,选择“从工作空间中使用现有清单”项,将创建的清单文件输入,也可以通过旁边的“浏览”按钮来选择清单文件。输入清单文件后,单击“Finish”,Eclipse开始将项目打包。
附:这里也可以选择Generate the manifest file.但生成的清单文件MAINFEST.MF需要修改.
注意:清单文件MAINFEST.MF一定要按第二步那样设置.
生成的JAR文件目录如下:
第五步:生成运行manager.jar的批处理文件manager.bat(该步可以不要)
在manager目录下创建一个批处理程序manager.bat(名字任取,扩展名必须是bat),其内容仅一句语句,如下:
javaw -jar manager.jar
说明:
1.javaw对应c:\jdk\jre\bin\javaw.exe文件,如果windows提示命令未发现,则需要将c:\jdk\jre\bin路径加入到windows环境变量path中。
2.在运行程序的时候有一个讨厌的黑色命令行窗口,要去掉它,可以将run.bat内容更改如下:“start javaw -jar manager.jar”,start是指调用了windows的“运行”命令。
3.在后边加一个pause就可以让你看到具体哪里出错了,如:
start javaw -jar manager.jar
pause
双击manager.bat,就可以运行该JAR文件了.
第六步:让电脑不必安装JRE环境,也能运行.
通常运行Java程序有个前提条件:用户电脑必须先安装JRE环境。虽然安装JRE环境非常简单,但毕竟多了一步,算是有一点点的瑕疵。这里给出一个不必让用户安装JRE环境的方法,其实现步骤如下:
(1)将原JDK中的“jre”目录复制到“D:\manager\java”目录下(java也可换成其他名称)。
(2)将JDK和JRE从本机卸载掉,这样表示本机没有安装JAVA运行环境。
(3)修改批处理文件manager.bat中的命令为“start java\jre\bin\javaw -jar manager.jar”,仅仅是在javaw前加上了一个相对应路径。
双击manager.bat即可在不安装JRE环境的电脑运行此Java应用程序。
第七步:抛弃批处理文件(*.bat),生成exe文件
用批处理文件运行程序似乎不够专业,虽然它足以完成运行任务。但习惯就象一种毒药一旦染上就很难摆脱它的影响,Windows统治下的人们早已经习惯运行扩展名是EXE的程序,用*.bat他们就会感觉别扭。
我们可以用一个叫JavaLauncher的免费小程序来代替批处理文件去运行Java程序。JavaLauncher的下载网址是:
http://www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm
下载下来的文件是一个名JavaLauncher.zip的压缩包,解压后的目录结构如下所示:
JavaLauncher.zip目录结构
source 目录包含了JavaLauncher的源程序,是用C语言写的
changes.txt 是新版的修改说明
launch.exe 是主程序
launcher.cfg 是配置文件
readme.txt 是一些说明和示例
我们只需要launch.exe、launcher.cfg两个文件,将这两个文件复制到打包文件所在的目录。launcher.cfg是一个仅三行内容的文本文件,将它修改如下:
.\java\jre\bin\javaw.exe
-jar manager.jar
第一行设置指向JAR包managger.jar的目录,由于launch.exe和myswt.jar同在一个目录,所以用“.”即当前目录。
第二行设置指向jre\bin\javaw.exe的路径。在上面已将jre目录复制到了java子目录中
配置好launcher.cfg后,双击launch.exe即可运行java应用程序。
如果仔佃研究eclipse的启动方式,发现eclipse和JavaLauncher的原理一样:eclipse.exe相当于 launch.exe,startup.jar相当于manager.jar。只不过eclipse.exe不象launch.exe要具有通用性,所以它没有*.cfg这样的配置文件,而是将启动信息固化在eclipse.exe中。
第八步:美化图标
launch.exe文件的图标太单调了,让我们给它换个好看点的。换程序的图标需要用到一个免费的软件:Resource Hacker.
第九步:最后的打包
发送给用户之前,通常要用WinZip或WinRAR将所有的文件全部打成一个压缩包,然后用户得到这个压缩包后,将其解压缩后即可运行程序,Eclipse软件就是这种方式。
另一种方式是用InstallShield、InstallAnyWhere这样的安装程序制作软件来创建一个单一的setup.exe文件,它具有向导式的安装界面,而且还可以往windows的程序栏插入菜单项,关于这些安装程序制作软件的具体使用请参阅相关书籍。
发表评论
-
java bean copy 反射实现代码
2008-10-20 17:09 2222import java.lang.reflect.*; ... -
ISO 8859 语言字符集详解
2008-10-07 14:14 2902ISO/IEC 8859-1,又称Latin-1 ... -
Unsupported major.minor version
2008-07-22 13:40 2499当你在编译Java时,遇到Unsupported major. ... -
两种方法删除ArrayList里重复元素
2008-07-10 16:00 171741.方法一: /** List order not mai ... -
java compileClassLoader
2008-07-01 21:15 965import java.io.*; /* A Co ... -
java runtime.exec() 的讲解(转贴)
2008-07-01 20:59 13986那就首先说点Runtime类吧,他是一个与JVM运行时环境有关 ... -
JDK5.0以上版本的特殊用途(转贴)
2008-07-01 16:29 1387jinfo:可以输出并修改运 ... -
提高java程序性能 (转贴)
2008-07-01 16:00 1442下面将提供一些在JAVA程序的设计和编码中,为了能够提高JAV ... -
Java 中生成数字证书(转贴)
2008-07-01 15:52 28331、创建证书 Java 中的 ... -
java虚拟机参数2 (转贴)
2008-06-29 17:22 1575JVM配置参数中文说明: ------------------ ... -
java虚拟机参数1 (转贴)
2008-06-27 17:14 1229下面的讨论以Windows平台的Sun MicroSystem ... -
java 生成excel
2008-06-24 17:16 8649java 生成excel 示例代码 //** *** ... -
java 陷阱 3 最后的笑声
2008-06-20 21:28 1187下面的程序打印的内容? Java代码 public cla ... -
java 陷阱2 动物状元
2008-06-20 21:27 902Java代码 下面的java ... -
java 陷阱 1 增量
2008-06-20 21:25 1188下面的程序对一个变量重复的进行增量操作,然后打印它的值,那么打 ... -
classloader 总结
2008-06-20 20:59 1566classloader对我来说一直都是很神秘的东东,这两天一直 ... -
classloader 热部署
2008-06-20 20:56 4265关键字: classloader 热部署 这两天一直在学习一 ... -
CompilingClassLoader
2008-06-20 20:54 1084import java.io.*; /* ... -
java 动态加载
2008-06-20 20:51 1874package com.cxz.thinking.act10; ... -
两段java代码的比较
2008-06-06 12:45 1132import java.util.ArrayList; ...
相关推荐
将java生成可执行exe文件,可以直接在win下双击运行
java利用exe4j生成exe可执行文件.doc
讲述了如何将java文件转换文exe文件
将JAVA生成可执行文件
将Java程序做成exe可执行文件的方法,在网上搜了一下,有很多,但是比较零散,我自己比较并总结了一下,决定使用exe4j,做了一个简单的教程(已经够用),并附带一个小例子,希望能让大家一看就会,不用在这个小问题...
本人曾经被这两个问题困扰良久,网上也有将java程序打包成可执行jar包甚至用第三者程序将jar包生成exe文件的说法。很遗憾,也很惭愧,本人还是没有解决好这两个问题。无意中发现了一个法子,简单而又实用,甚至不...
java源代码生成exe可执行程序打包.pdf
java生成exe java打包成exejava生成exe java打包成exe
java程序打包生成exe可执行文件 ;java程序编译
Java程序生成exe可执行文件详细教程(图文说明)
Java入门-生成可执行jar文件的教程,让你轻松学会jave的基本编程!
Java的可执行文件(.exe)生成器EJT,本人以前用过,还可以
JAVA生成EXE工具,直接下一步,很方便生成可执行的EXE文件
CMD 生成可执行jar文件的教程 生成可执行jar文件的教程
倘若说看到标题后,以为jb真的提供了一种把java应用程序打包成exe文件的主流方法的话,你会失望的,下面的一个小技巧只是...但是有一个隐藏的技巧可以让你从可执行文件来启动java程序,可以出现或者不出现console窗口。
java中生成exe文件 jar打包成可执行文件 内附使用文档
可以把Java程序打包成.exe可执行文件
java生成类似exe运行文件双击运行 生成jar文件 自制视频
【压缩包内容】 一、exe4j_Windows-X64_5_0_1:exe4j 64位安装包,带注册码;...二、Java项目打包成exe执行文件.pdf:详细的eclipse打包Java项目,以及使用exe4j打包生成exe文件详细步骤以及截图。
java代码编译生成jar文件,jar文件转换为exe二进制可执行文件的工具软件。