把eclipse变成exe程序可执行文件.docx
《把eclipse变成exe程序可执行文件.docx》由会员分享,可在线阅读,更多相关《把eclipse变成exe程序可执行文件.docx(48页珍藏版)》请在冰豆网上搜索。
把eclipse变成exe程序可执行文件
Java打包成EXE程序文件
项目打包与发行
当项目完成后接下来的就是打包发行了,应用程序(Application)项目和Eclipse插件项目(plugin)的打包是不同的,本章将别离介绍二者的打包方式,并给出实际的打包例子。
应用程序项目的打包与发行
简介
Java应用程序项目完成后是能够离开Eclipse运行的,要运行程序先要打它打成一个JAR包,它打包的大部份方式和标准Java的AWT/SWING的打包方式一样,主要有以下几个要点
-打包清单。
它是打包的关键性文件,主如果设置执行入口类和支持库的路径,在运行Java应用程序时是要按照此文件中给出的信息来查找入口类和支持库。
支持包-若是Java应用程序用到了一些Eclipse包,那么就必需将这些包也复制到程序运行目录,不然程序将无法运行。
如swt组件支持包,jface组件支持包。
这些包都要在文件中设置好。
本地化文件-若是用到了SWT组件,则还需要将SWT的本地化文件(3063是版本号)复制到程序运行目录,不然程序将无法运行。
打包的具体操作步骤
本节将用前几章开发的SWT/JFace项目“myswt”的打包为例,来介绍打包应用程序项目的方式。
1、编辑清单
(1)Eclipse提供了用于打包项目的“导出”向导,但本例运行此向导之前先需要创建一个清单文件,其内容如下:
Manifest-Version:
Main-Class:
./lib/./lib/./lib/
说明:
Manifest-Version-指定清单文件的版本号
Main-Class-指定程序运行的入口类。
本例设为运行节开发的向导式对话框。
注意:
类名后不要加class扩展名
Class-Path-指定支持库的路径。
“.”指程序运行目录,即导出的JAR包所在目录。
程序运行时依据Class-Path项的设置路径来查找支持库。
每一个支持库之间用空格隔开。
在这里需要用到包,所以包也要加入到Class-Path中。
除入口类的包名和类名之外,其他设置项都不分大小写,比如:
Class-Path写成class-path或CLASS-PATH也能够,写成也行。
(2)将清单文件保留下来,建议放在myswt项目的根目录下。
它的文件名能够任意取,本例取名为,Eclipse向导在打包时会自动的将的内容复制到JAR包的META-INF目录下的文件中。
2、利用Eclipse“导出”向导来打包项目
(1)右键单击myswt项目的项目名,在弹出菜单当选择“导出”。
在弹出的如下图所示的对话框中,选择“JAR文件”,单击“下一步”。
图导出对话框
(2)如下图所示,将右边不需要的文件都取消勾选。
在“选择导出目标”项文本框中设置JAR包的输前途径和包名(能够任意取名)为“D:
\myswt_application\”。
同意其他的默许设置不变,单击“下一步”。
附注:
左侧虽然选择了src目录,但源文件并非会导出到包中,除非勾选了“导出Java源代码文件和资源”项。
图选择导入文件
(3)如下图所示,同意默许设置不变,单击“下一步”。
图导出类的选项
(4)这一步较关键。
如下图所示,选择“从工作空间中利用现有清单”项,将创建的清单文件输入,也能够通过隔壁的“阅读”按钮来选择清单文件。
输入清单文件后,单击“完成”,Eclipse开始将项目打包。
图清单文件设置
通过以上四步后,在“D:
\myswt_application”路径下生成了一个名为“”的文件。
是一个ZIP格式的紧缩文件,能够用WinRAR或WinZip软件打开,也就是说用这两个软件也能够替代Eclipse向导来打包文件。
若是用WinRAR来打包文件,则紧缩格式要选择ZIP格式而非RAR格式,紧缩率倒能够任意选。
用WinRAR打开文件后其内部的目录结构如下图所示:
图文件的内部目录结构
在文件的内部目录META-INF中仅一个文件:
,它和以前创建的清单文件的内容是一样的,如下:
Manifest-Version:
Class-Path:
./lib/./lib/./lib/
Main-Class:
、复制Java应用程序的支持包及本地化文件
在文件中的Class-Path项设置了三个包,从Eclipse的plugins目录中将此三个支持包复制到D:
\myswt_application\lib目录,本地化文件复制到D:
\myswt_application目录中。
此三个文件在Eclipse中的路径为:
plugins\复制完成后的目录结构如下图所示:
图目录结构图
4、编写运行包的批处置程序“”
在myswt_application目录下创建一个批处置程序(名字任取,扩展名必需是bat),其内容仅一句语句,如下:
javaw-jar
说明:
● javaw对应c:
\jdk\jre\bin\文件,若是windows提示命令未发觉,则需要将c:
\jdk\jre\bin路径加入到windows环境变量path中。
● 在运行程序的时候有一个讨厌的黑色命令行窗口,要去掉它,能够将内容更改如下:
“startjavaw-jar”,start是指挪用了windows的“运行”命令。
● 若是想将也放在单独的目录中,如“D:
\myswt_application\native”目录,则需将内容更改成:
startjavaw-jar
5、运行程序
双击文件,取得如下图所示的程序界面。
图程序运行效果图
6、注意事项
本例只需要三个支持包,但你的程序或许会需要更多的支持包才能运行。
若是你想一次到位,则能够将“Java构建路径”的“库”选项卡中所有引用的包都复制到lib目录中。
若是你喜欢用到什么包才加入什么包,希望维持打包文件的简练,则需要自己一步步的去试:
若是缺少某支持包,运行程序时会输出的未找到类的错误信息,从信息中的包名可得知程序缺少哪个支持包。
比如“Exceptioninthread"main"org/eclipse/jface/wizard/IWizard”,从错误信息中很明显的就可以明白程序缺少jface包
其他取得JAR包的方式
要取得JAR包除以上所说的用Eclipse“导出”向导、用WinZip和WinRAR,另外还能用Java自带的命令行式打包软件(位于c:
\jdk\bin目录),其打包命令为:
c:
\jdk\bin\jarcvfmC:
\-CC:
\.
说明:
● c:
\jdk\bin\jar-由于本书没有把c:
\jdk\bin加入到windows环境变量path中,所以手工指定的路径
● cvfm-的参数,“c”创建新的jar包;“v”将调试信息打印在屏幕上;“f”指定生成的jar文件名;“m”利用清单文件。
注意它们都是小写
● -打包后的JAR包名
● 在前面是把清单文件放在C:
\目录下。
若是将它和批处置文件放在一个目录就没必要指定长长的路径了。
● “-C路径.”指将路径下(包括子目录)的所有文件打包,由于class文件是输出在项目的bin目录下,所以路径指定到项目的bin目录,注意三者之间是用空格隔开,而且最后一个字符是小数点。
这种方式的长处是没有Eclipse导出向导的操作那么麻烦,适合常常需要导出JAR包的情形。
利用第三方插件对项目打包
开源组织()中有一款可将Eclipse支持包和项目编译文件一路打到一个包中的插件,叫“FatJar”,它的下载地址是“,具体下载再也不说明,安装步骤参阅第1章SWTDesigner的安装。
FatJar的利用步骤如下:
(1)右键单击myswt项目的项目名,可见菜单中多了一项“BuildFatJar”,如下图所示,选择“BuildFatJar”项。
图右键菜单
(2)在下图所示的对话框中,“Jar-Name”项填入JAR包的输前途径。
文件清单“Manifest”项不用填,默许会自动创建一个。
“Main-Class”项填入程序的入口类。
其他都同意默许值,单击“下一步”。
图输出配置
(3)如下图所示,窗口中将myswt项目所用到的支持包都列了出来。
咱们仅勾选图中、、这三项即可,固然全选也并尝不可,只是最后取得的JAR包会更大一些,因为FatJar会将所有支持包归并在一个JAR包中。
图选择要打包的文件
单击图的“完成”按钮后,JAR包将输出到D:
\myswt_applicationh目录中。
和以前一样,要运行此JAR包需要一个批处置文件和本地化文件,唯一不同的是再也不需要Eclipse支持包,其目录结构如下图所示:
图目录结构
为何不需要Eclipse支持包了呢?
那是因为支持包已经在文件中了,从下图能够看到等都被拆散成目录,并包括在包中。
图的内部目录结构
其中META-INF目录的文件内容如下,能够发觉和以前不同的地方是:
Class-Path项没有了。
Manifest-Version:
Created-By:
FatJarEclipsePlug-In
Main-Class:
让用户电脑没必要安装JRE环境
通常运行Java程序有个前提条件:
用户电脑必需先安装JRE环境。
虽然安装JRE环境超级简单,但毕竟多了一步,算是有一点点的瑕疵。
这里给出一个没必要让用户安装JRE环境的方式,其实现步骤如下:
(1)将原JDK中的“jre”目录复制到“D:
\myswt_application\目录下(也可换成其他名称)。
(2)将JDK和JRE从本机卸载掉,如此表示本机没有安装JAVA运行环境。
(3)修改批处置文件中的命令为“start-jar”,仅仅是在javaw前加上了一个相对应路径。
双击即可在不安装JRE环境的电脑运行此Java应用程序。
更进一步的完善
1、抛弃批处置文件(*.bat)
用批处置文件运行程序似乎不够专业,虽然它足以完成运行任务。
但适应就象一种毒药一旦染上就很难摆脱它的影响,Windows统治下的人们早已经适应运行扩展名是EXE的程序,用*.bat他们就会感觉别扭。
咱们能够用一个叫JavaLauncher的免费小程序来代替批处置文件去运行Java程序。
JavaLauncher的下载网址是:
下载下来的文件是一个名的紧缩包,解压后的目录结构如下图所示:
图目录结构
在上图的目录中
● source目录包括了JavaLauncher的源程序,是用C语言写的
● 是新版的修改说明
● 是主程序
● 是配置文件
● 是一些说明和示例
咱们只需要、两个文件,将这两个文件复制到打包文件所在的目录。
是一个仅三行内容的文本文件,将它修改如下:
.
.\
-jar
● 第一行设置指向JAR包的目录,由于和同在一个目录,所以用“.”即当前目录。
● 第二行设置指向jre\bin\的路径。
在上一末节(节)已将jre目录复制到了子目录中
配置好后,双击即可运行java应用程序。
若是仔佃研究eclipse的启动方式,发觉eclipse和JavaLauncher的原理一样:
相当于,相当于。
只不过不象要具有通用性,所以它没有*.cfg如此的配置文件,而是将启动信息固化在中。
2、美化图标
文件的图标太单调了,让咱们给它换个好看点的。
换程序的图标需要用到一个免费的软件:
ResourceHacker,它有中文版,下载网址是:
用ResourceHacker来替换的图标的步骤如下:
(1)运行ResourceHacker,取得如下图所示的窗口。
图ResourceHacker的主界面
(2)单击主菜单“文件→打开”,将载入到程序中,结果如下图所示。
图载入以后的界面
(3)如上图,选择左侧的“图标→1→1030”,然后右键单击“1030”项,选择“替换资源…”。
如下图所示,在弹出窗口中单击“打开新图标文件”,选择一个满意的图标,然后单击“替换”按钮。
附注:
图标文件能够是exe、dll、res、ico,该软件能够从exe、dll、res抽掏出图标,本例选择的是java的一个图标文件。
图选择图标文件
(4)如下图所示,选择“文件→另存为”,取名。
附注:
按理说选择“保留”也是能够的,这时ResourceHacker会将老的备份成。
但或许是刷新上有问题,用“保留”方式有时无法显示出新图标,但有时又能够。
图保留修改
(5)最后的目录如下图所示,可见(也就是改了个名称)的图标换成了Java的图标。
双击即可运行Java应用程序。
图最后的效果
3、最后的打包
发送给用户之前,通常要用WinZip或WinRAR将所有的文件全数打成一个紧缩包,然后用户取得那个紧缩包后,将其解紧缩后即可运行程序,Eclipse软件就是这种方式。
另一种方式是用InstallShield、InstallAnyWhere如此的安装程序制作软件来创建一个单一的文件,它具有向导式的安装界面,而且还能够往windows的程序栏插入菜单项,关于这些安装程序制作软件的具体利用请参阅相关书籍。
第9章 Eclipse的J2EE开发
Eclipse默许安装是没有J2EE开发支持的,它需要安装第三方插件,本章的主要介绍的J2EE开发插件是Lomboz,主要开发环境是Tomcat+Lomboz+Struts+Hibernate,这是当前比较流行的一种选择。
其中Tomcat充当WEB服务器;Lomboz是J2EE开发的工具;Struts提供壮大的MVC模式支持;Hibernate替代笨重的EJB来充当数据库的持久层。
以上所有的工具和软件包不仅流行、功能壮大、而且是免费的,是J2EE开发典型搭配。
本章将分三个层次来渐进式的展开讲解:
● Lomboz下的纯J2EE开发
● 融合Struts的J2EE开发
● 融合Struts和Hibernate后的J2EE开发
由于篇幅有限,本章以开发环境的安装和配置为重点,并辅以一个典型而有深度的实例来演示具体的开发操作,最后给出一个扩展知识的资料索引。
本章和第8章一样也利用CVS来管理所有例程,在每一节的题目后会用括号显示这一节的版本号。
本章具体的环境为:
WindowsXP++++++Struts。
WEB环境的搭建(V0010)
下载CVS版本注意事项
由于V0010版,存在一些空目录,而这些空目录也是必需要的,不然项目会犯错。
这需要修改一个CVS的配置,如下图所示,打开Eclipse的首选项→小组→CVS→将“修剪空目录”项取消勾选。
图 修改CVS配置
Tomcat的下载与安装
这一节先搭建好Tomcat环境,Tomcat的下载安装和Eclipse、Lomboz都没有直接关系,它是完全独立的。
1、下载Tomcat
(1)用IE打开Tomcat的下载页面:
,选择页面左侧的链接“Binaries”,转到下图所示的页面:
图 Tomcat项目选择
(3)单击上图中标识的“Tomcat”项,出现如下图所示的页面
图 具体下载项
(4)下载上图所示的“项,下载后的文件名为:
注意:
●
(1)不要下载.*版,因为那需要的支持;也不要下载.*版,它的功能太弱了。
因为不同版本之间的安装和配置都会有所不同,为了和本教程同步,必然要下载版。
●
(2)若是用FlashGet等多线程下载工具无法下载,则改用原始的IE右键菜单的“另存为…”项来下载。
2、安装Tomcat
安装Tomcat的进程比较简单,双击取得的下载文件:
,开始安装。
(1)选择安装组件。
同意默许的勾选即可,如下图所示。
图 选择组件
(2)选择Tomcat安装目录。
也一样同意默许值,将安装到C:
\ProgramFiles\ApacheSoftwareFoundation\Tomcat目录下,如下图所示:
图 Tomcat的安装目录
(3)选择HTTP监听端口(Port),如下图所示。
默许端口是8080,若是8080端口已被你电脑上的其他软件所占用(如IIS、JBoss等),则能够另选择一个空闲的端口。
最后,给Tomcat的超级管理员admin设为一个密码(本书设为123456)。
图 设置端口和密码
(4)设置Tomcat利用的JVM,本书的默许值为“C:
\ProgramFiles\Java\,如下图所示。
很多资料都指出,在安装JDK时要设置设置classpath、JAVA_HOME、path等环境变量,但本书从第一章开始就从没有设置过这些环境变量,一样能够运行通畅,或许是新版的专门好的解决了这些问题。
从这一步也能够看到,Tomcat已经在安装时定位好了JVM的位置,没必要再手工设置了。
设置好JVM后,单击“install”按钮,开始安装。
图 定位JVM的位置
(5)安装完成以后,在Windows的“控制面板”→“管理工具”→“服务”窗口中,能够看到Tomcat已经注册为windows的一项服务,如下图所示。
请肯定它是“手动”方式,这一点在开发时很重要,因为咱们以后要通过Eclipse来启动Tomcat。
图 windows“服务”窗口
3、启动Tomcat
虽然以后在开发时,是要通过Eclipse来启动Tomcat,但此刻为了测试Tomcat是不是安装成功,暂时先启动Tomcat。
(1)能够通过Windows的“开始”菜单→“Apache”组→“ConfigureTomcat”项来运行Tomcat的配置界面(如下图所示),那个界面包括了Tomcat的一些参数设置,这些设置一般都不用去改动它。
直接“单击”按钮,即可启动Tomcat。
图Tomcat的配置界面
(2)在IE阅读器中输入“,其中8080为安装时设置的端口号。
若是启动成功,则会出现如下图所示的页面;反之,若是没有出现此页面,则表示启动未成功,这时你需要检查前面的安装步骤是不是和本书的一致。
图 验证Tomcat是不是安装及启动成功
附注:
在上图页面的左部有两个链接:
TomcatAdministration、TomcatManager,它们是用于管理Tomcat的,登录密码都是在安装Tomcat时设置的用户名admin和密码123456。
其中,TomcatAdiministration项能够设置数据库连接池、管理用户及权限、和其他一些Tomcat服务器相关设置;TomcatManager项主要用来发布网页管理,通过它能够轻松的将一个WAR包发布到Tomcat中。
关于Tomcat中文问题的解决,请参阅节。
Lomboz的下载与安装
下载Lomboz时必然要针对Eclipse的版本来选择相应的Lomboz版本下载,不然对应版本不同,很有可能会致使Lomboz无法正常利用。
本章由于仍然要利用CVS,所以仍是用版,Lomboz选择相应的版。
1、下载Lomboz
Lomboz的下载地址是:
,下载页面如下图所示,请选择for的Lomboz来下载,而且还需要同时下载emf包(如图中箭头所示)。
下载后的文件名为:
●
图 Lomboz的下载页面
2、安装Lomboz
(1)因为Lomboz、emf是Eclipse的插件,所以它和其他Eclipse插件的安装方式一样,本书采用Links式的插件安装方式,具体步骤再也不重复,请参阅节的安装步骤。
下图是安装完成后的目录结构:
图 lomboz、emf的安装目录结构
其中图中的links目录有新创建的两个文本文件:
● 文件,内容仅一句:
path= 文件,内容也仅一句:
path=emf-sdo-runtime-I0800
(2)验证Lomboz是不是安装成功
启动Eclipse。
若是安装成功,选择“文件”→“新建”→“项目”会出现如下图所示的Lomboz项目。
图 验证Lomboz是不是安装成功
(3)若是未能出现上图画面,请做如下检查和尝试:
● 删除eclipse目录下的子目录configuration,再启动Eclipse试一试。
● 检查Lomboz的版本是不是和Eclipse的一致。
● Links文件中的path项是不是设置正确。
● Lomboz的目录结构是不是正确:
..\,注意和plugins的中间还有个elcipse目录。
Lomboz的环境设置
安装完Lomboz以后,还需要针对Tomcat做一些设置才能用于开发WEB,具体操作步骤如下:
(1)打开Eclipse的首选项,设定JDK的包的位置,本书是“C:
\jdk\lib\”,如下图所示:
图 设定JDK的包的位置
(2)如下图所示,注意,在Servertypes项的下拉框中,要选择和当前所用Tomcat版本相对应的项;ApplicationServerDirectory和ClasspathVariable两项都是指向Tomcat的安装目录:
C:
\ProgramFiles\ApacheSoftwareFoundation\Tomcat。
图 Tomcat在Lomboz中的设置
(3)版本在Lomboz中无法启动,必需还要做一些小修改。
到Lomboz插件的“..\目录中,能够看到各类Web服务器的配置文件,它们都会显示在上图的servertypes下拉框中,除文件外,其他都不需要,把它们都删除掉或备份到其他地方。
最后,用记事本打开,并将所有“${serverRootDirectory}/bin;${serverRootDirectory}/common/endorsed”项替换成“${serverRootDirectory}/common/endorsed”,共有两处,约在文件中的35、39行位置。
JSP的HelloWorld
本末节将写一个JSP的HelloWorld,用来验证以上Tomcat和Lomboz的环境是不是安装成功。
1、设置Java的构建路径
打开Eclipse首选项,如下图所示,选择“java”→“构建路径”→选择“文件夹”项。
通过此步设置以后,新建的Java项目(包括J2EE项目)就会默许以bin为输出目录。
● 注意:
这一步相当重要,因为用Lomboz创建J2EE项目时,是无法象创建普通Java项目那样选择“项目布局”的,现在J2EE项目的输出目录将会是在项目根目录下,以后JavaBean的java文件也会和class文