eclipse项目打包与发行.docx

上传人:b****5 文档编号:30228918 上传时间:2023-08-07 格式:DOCX 页数:67 大小:931.79KB
下载 相关 举报
eclipse项目打包与发行.docx_第1页
第1页 / 共67页
eclipse项目打包与发行.docx_第2页
第2页 / 共67页
eclipse项目打包与发行.docx_第3页
第3页 / 共67页
eclipse项目打包与发行.docx_第4页
第4页 / 共67页
eclipse项目打包与发行.docx_第5页
第5页 / 共67页
点击查看更多>>
下载资源
资源描述

eclipse项目打包与发行.docx

《eclipse项目打包与发行.docx》由会员分享,可在线阅读,更多相关《eclipse项目打包与发行.docx(67页珍藏版)》请在冰豆网上搜索。

eclipse项目打包与发行.docx

eclipse项目打包与发行

项目打包与发行

当项目完成后接下来的就是打包发行了,应用程序(Application)项目和Eclipse插件项目(plugin)的打包是不同的,本章将分别介绍两者的打包方法,并给出实际的打包例子。

7.1应用程序项目的打包与发行

7.1.1简介

Java应用程序项目完成后是可以脱离Eclipse运行的,要运行程序先要打它打成一个JAR包,它打包的大部份方法和标准Java的AWT/SWING的打包方法一样,主要有以下几个要点

●          MANIFEST.MF-打包清单。

它是打包的关键性文件,主要是设置执行入口类和支持库的路径,在运行Java应用程序时是要根据此文件中给出的信息来查找入口类和支持库。

●          支持包-如果Java应用程序用到了一些Eclipse包,那么就必须将这些包也复制到程序运行目录,否则程序将无法运行。

如swt组件支持包swt.jar,jface组件支持包jface.jar。

这些包都要在MANIFEST.MF文件中设置好。

●          本地化文件-如果用到了SWT组件,则还需要将SWT的本地化文件swt-win32-3063.dll(3063是版本号)复制到程序运行目录,否则程序将无法运行。

7.1.2打包的具体操作步骤

本节将用前几章开发的SWT/JFace项目“myswt”的打包为例,来介绍打包应用程序项目的方法。

1、编辑清单MANIFEST.MF

(1)Eclipse提供了用于打包项目的“导出”向导,但本例运行此向导之前先需要创建一个MANIFEST.MF清单文件,其内容如下:

Manifest-Version:

1.0

Main-Class:

book.chapter_4.wizard_dialog.WizardDialog1

Class-Path:

./lib/swt.jar./lib/jface.jar./lib/runtime.jar

说明:

●          Manifest-Version-指定清单文件的版本号

●          Main-Class-指定程序运行的入口类。

本例设为运行4.5.2节开发的向导式对话框。

注意:

类名后不要加class扩展名

●          Class-Path-指定支持库的路径。

“.”指程序运行目录,即导出的JAR包所在目录。

程序运行时依据Class-Path项的设置路径来查找支持库。

每一个支持库之间用空格隔开。

在这里jface.jar需要用到runtime.jar包,所以runtime.jar包也要加入到Class-Path中。

●          除了入口类的包名和类名之外,其他设置项都不分大小写,比如:

Class-Path写成class-path或CLASS-PATH也可以,swt.jar写成SWT.JAR也行。

(2)将清单文件保存下来,建议放在myswt项目的根目录下。

它的文件名可以任意取,本例取名为manifes.txt,Eclipse向导在打包时会自动的将manifes.txt的内容复制到JAR包的META-INF目录下的MANIFEST.MF文件中。

2、使用Eclipse“导出”向导来打包项目

(1)右键单击myswt项目的项目名,在弹出菜单中选择“导出”。

在弹出的如下图7.1所示的对话框中,选择“JAR文件”,单击“下一步”。

图7.1导出对话框

(2)如下图7.2所示,将右边不需要的文件都取消勾选。

在“选择导出目标”项文本框中设置JAR包的输出路径和包名(可以任意取名)为“D:

\myswt_application\myswt.jar”。

接受其他的默认设置不变,单击“下一步”。

附注:

左边虽然选择了src目录,但源文件并不会导出到包中,除非勾选了“导出Java源代码文件和资源”项。

图7.2选择导入文件

(3)如下图7.3所示,接受默认设置不变,单击“下一步”。

图7.3导出类的选项

(4)这一步较关键。

如下图7.4所示,选择“从工作空间中使用现有清单”项,将创建的清单文件输入,也可以通过旁边的“浏览”按钮来选择清单文件。

输入清单文件后,单击“完成”,Eclipse开始将项目打包。

图7.4清单文件设置

经过以上四步后,在“D:

\myswt_application”路径下生成了一个名为“myswt.jar”的文件。

myswt.jar是一个ZIP格式的压缩文件,可以用WinRAR或WinZip软件打开,也就是说用这两个软件也可以替代Eclipse向导来打包文件。

如果用WinRAR来打包文件,则压缩格式要选择ZIP格式而非RAR格式,压缩率倒可以任意选。

用WinRAR打开myswt.jar文件后其内部的目录结构如下图7.5所示:

图7.5myswt.jar文件的内部目录结构

在myswt.jar文件的内部目录META-INF中仅一个文件:

MANIFEST.MF,它和以前创建的清单文件manifest.txt的内容是一样的,如下:

Manifest-Version:

1.0

Class-Path:

./lib/swt.jar./lib/jface.jar./lib/runtime.jar

Main-Class:

book.chapter_4.wizard_dialog.WizardDialog1

3、复制Java应用程序的支持包及本地化文件

在MANIFEST.MF文件中的Class-Path项设置了三个包,从Eclipse的plugins目录中将此三个支持包复制到D:

\myswt_application\lib目录,本地化文件swt-win32-3063.dll复制到D:

\myswt_application目录中。

此三个文件在Eclipse中的路径为:

plugins\org.eclipse.swt.win32_3.0.1\ws\win32\swt.jar

plugins\org.eclipse.jface_3.0.0\jface.jar

plugins\org.eclipse.core.runtime_3.0.1\runtime.jar

plugins\org.eclipse.swt.win32_3.0.1\os\win32\x86\swt-win32-3063.dll

复制完成后的目录结构如下图7.6所示:

图7.6目录结构图

4、编写运行myswt.jar包的批处理程序“run.bat”

在myswt_application目录下创建一个批处理程序run.bat(名字任取,扩展名必须是bat),其内容仅一句语句,如下:

javaw-jarmyswt.jar

说明:

●          javaw对应c:

\jdk\jre\bin\javaw.exe文件,如果windows提示命令未发现,则需要将c:

\jdk\jre\bin路径加入到windows环境变量path中。

●          在运行程序的时候有一个讨厌的黑色命令行窗口,要去掉它,可以将run.bat内容更改如下:

“startjavaw-jarmyswt.jar”,start是指调用了windows的“运行”命令。

●          如果想将swt-win32-3063.dll也放在单独的目录中,如“D:

\myswt_application\native”目录,则需将run.bat内容更改为:

startjavaw-Djava.library.path=./native/-jarmyswt.jar

5、运行程序

双击run.bat文件,得到如下图7.7所示的程序界面。

图7.7程序运行效果图

6、注意事项

本例只需要三个支持包,但你的程序也许会需要更多的支持包才能运行。

如果你想一次到位,则可以将“Java构建路径”的“库”选项卡中所有引用的包都复制到lib目录中。

如果你喜欢用到什么包才加入什么包,希望维持打包文件的简洁,则需要自己一步步的去试:

如果缺少某支持包,运行程序时会输出的未找到类的错误信息,从信息中的包名可得知程序缺少哪一个支持包。

比如“Exceptioninthread"main"java.lang.NoClassDefFoundError:

org/eclipse/jface/wizard/IWizard”,从错误信息中很明显的就能知道程序缺少jface包

7.1.3其他得到JAR包的方式

要得到JAR包除了以上所说的用Eclipse“导出”向导、用WinZip和WinRAR,另外还能用Java自带的命令行式打包软件jar.exe(位于c:

\jdk\bin目录),其打包命令为:

c:

\jdk\bin\jarcvfmmyswt.jarC:

\eclipse3.0.1\eclipse\workspace\myswt\manifest.txt-CC:

\eclipse3.0.1\eclipse\workspace\myswt\bin.

说明:

●          c:

\jdk\bin\jar-由于本书没有把c:

\jdk\bin加入到windows环境变量path中,所以手工指定jar.exe的路径

●          cvfm-jar.exe的参数,“c”创建新的jar包;“v”将调试信息打印在屏幕上;“f”指定生成的jar文件名;“m”使用清单文件。

注意它们都是小写

●          myswt.jar-打包后的JAR包名

●          在前面是把清单文件manifest.txt放在C:

\eclipse3.0.1\eclipse\workspace\myswt\目录下。

如果将它和批处理文件放在一个目录就不必指定长长的路径了。

●          “-C路径.”指将路径下(包括子目录)的所有文件打包,由于class文件是输出在项目的bin目录下,所以路径指定到项目的bin目录,注意三者之间是用空格隔开,并且最后一个字符是小数点。

这种方式的优点是没有Eclipse导出向导的操作那么麻烦,适合经常需要导出JAR包的情况。

7.1.4使用第三方插件对项目打包

开源组织(Jar”,它的下载地址是“Designer的安装。

FatJar的使用步骤如下:

(1)右键单击myswt项目的项目名,可见菜单中多了一项“BuildFatJar”,如下图7.8所示,选择“BuildFatJar”项。

图7.8右键菜单

(2)在下图7.9所示的对话框中,“Jar-Name”项填入JAR包的输出路径。

文件清单“Manifest”项不用填,默认会自动创建一个。

“Main-Class”项填入程序的入口类。

其他都接受默认值,单击“下一步”。

图7.9输出配置

(3)如下图7.10所示,窗口中将myswt项目所用到的支持包都列了出来。

我们仅勾选图中runtime.jar、swt.jar、jface.jar这三项即可,当然全选也并尝不可,只是最后得到的JAR包会更大一些,因为FatJar会将所有支持包合并在一个JAR包中。

图7.10选择要打包的文件

单击图7.10的“完成”按钮后,JAR包myswt.jar将输出到D:

\myswt_applicationh目录中。

和以前一样,要运行此JAR包需要一个批处理文件以及本地化文件swt-win32-3063.dll,唯一不同的是不再需要Eclipse支持包,其目录结构如下图7.11所示:

图7.11目录结构

为什么不需要Eclipse支持包了呢?

那是因为支持包已经在myswt.jar文件中了,从下图7.12可以看到swt.jar等都被拆散成目录,并包含在myswt.jar包中。

图7.12myswt.jar的内部目录结构

其中META-INF目录的MANIFEST.MF文件内容如下,可以发现和以前不同的地方是:

Class-Path项没有了。

Manifest-Version:

1.0

Created-By:

FatJarEclipsePlug-In

Main-Class:

book.chapter_4.wizard_dialog.WizardDialog1

7.1.4让用户电脑不必安装JRE环境

通常运行Java程序有个前提条件:

用户电脑必须先安装JRE环境。

虽然安装JRE环境非常简单,但毕竟多了一步,算是有一点点的瑕疵。

这里给出一个不必让用户安装JRE环境的方法,其实现步骤如下:

(1)将原JDK中的“jre”目录复制到“D:

\myswt_application\java1.4.2”目录下(java1.4.2也可换成其他名称)。

(2)将JDK和JRE从本机卸载掉,这样表示本机没有安装JAVA运行环境。

(3)修改批处理文件run.bat中的命令为“startjava1.4.2\jre\bin\javaw-jarmyswt.jar”,仅仅是在javaw前加上了一个相对应路径。

双击run.bat即可在不安装JRE环境的电脑运行此Java应用程序。

7.1.5更进一步的完善

1、抛弃批处理文件(*.bat)

用批处理文件运行程序似乎不够专业,虽然它足以完成运行任务。

但习惯就象一种毒药一旦染上就很难摆脱它的影响,Windows统治下的人们早已经习惯运行扩展名是EXE的程序,用*.bat他们就会感觉别扭。

我们可以用一个叫JavaLauncher的免费小程序来代替批处理文件去运行Java程序。

JavaLauncher的下载网址是:

http:

//www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm

下载下来的文件是一个名JavaLauncher.zip的压缩包,解压后的目录结构如下图7.13所示:

图7.13JavaLauncher.zip目录结构

在上图的目录中

●          source目录包含了JavaLauncher的源程序,是用C语言写的

●          changes.txt是新版的修改说明

●          launch.exe是主程序

●          launcher.cfg是配置文件

●          readme.txt是一些说明和示例

我们只需要launch.exe、launcher.cfg两个文件,将这两个文件复制到打包文件所在的目录。

launcher.cfg是一个仅三行内容的文本文件,将它修改如下:

.

.\java1.4.2\jre\bin\javaw.exe

-jarmyswt.jar

●          第一行设置指向JAR包myswt.jar的目录,由于launch.exe和myswt.jar同在一个目录,所以用“.”即当前目录。

●          第二行设置指向jre\bin\javaw.exe的路径。

在上一小节(7.1.4节)已将jre目录复制到了java1.4.2子目录中

配置好launcher.cfg后,双击launch.exe即可运行java应用程序。

如果仔佃研究eclipse的启动方式,发现eclipse和JavaLauncher的原理一样:

eclipse.exe相当于launch.exe,startup.jar相当于myswt.jar。

只不过eclipse.exe不象launch.exe要具有通用性,所以它没有*.cfg这样的配置文件,而是将启动信息固化在eclipse.exe中。

2、美化图标

launch.exe文件的图标太单调了,让我们给它换个好看点的。

换程序的图标需要用到一个免费的软件:

ResourceHacker,它有中文版,下载网址是:

用ResourceHacker来替换launch.exe的图标的步骤如下:

(1)运行ResourceHacker,得到如下图7.14所示的窗口。

图7.14ResourceHacker的主界面

(2)单击主菜单“文件→打开”,将launch.exe载入到程序中,结果如下图7.15所示。

图7.15载入Lanunch.exe之后的界面

(3)如上图,选择左边的“图标→1→1030”,然后右键单击“1030”项,选择“替换资源…”。

如下图7.16所示,在弹出窗口中单击“打开新图标文件”,选择一个满意的图标,然后单击“替换”按钮。

附注:

图标文件可以是exe、dll、res、ico,该软件可以从exe、dll、res抽取出图标,本例选择的是java的一个图标文件JavaCup.ico。

图7.16选择图标文件

(4)如下图7.17所示,选择“文件→另存为”,取名myswt.exe。

附注:

按理说选择“保存”也是可以的,这时ResourceHacker会将老的launch.exe备份成launch_original.exe。

但也许是刷新上有问题,用“保存”方式有时launch.exe无法显示出新图标,但有时又可以。

图7.17保存修改

(5)最后的目录如下图7.18所示,可见myswt.exe(也就是launch.exe改了个名称)的图标换成了Java的图标。

双击myswt.exe即可运行Java应用程序。

图7.18最后的效果

3、最后的打包

发送给用户之前,通常要用WinZip或WinRAR将所有的文件全部打成一个压缩包,然后用户得到这个压缩包后,将其解压缩后即可运行程序,Eclipse软件就是这种方式。

另一种方式是用InstallShield、InstallAnyWhere这样的安装程序制作软件来创建一个单一的setup.exe文件,它具有向导式的安装界面,而且还可以往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+JDK1.4.2_06+Eclipse3.1M4+cvsnt2.0.58d+Tomcat5.0.28+Lomboz3.1.0+Struts1.2.4。

9.1 WEB环境的搭建(V0010)

9.1.1 下载CVS版本注意事项

由于V0010版,存在一些空目录,而这些空目录也是必须要的,否则项目会出错。

这需要修改一个CVS的配置,如下图9.1所示,打开Eclipse的首选项→小组→CVS→将“修剪空目录”项取消勾选。

图9.1 修改CVS配置

9.1.2 Tomcat的下载与安装

      这一节先搭建好Tomcat环境,Tomcat的下载安装和Eclipse、Lomboz都没有直接关系,它是完全独立的。

1、下载Tomcat

(1)用IE打开Tomcat的下载页面:

http:

//jakarta.apache.org/tomcat/index.html,选择页面左边的链接“Binaries”,转到下图9.2所示的页面:

图9.2 Tomcat项目选择

(3)单击上图中标识的“Tomcat”项,出现如下图9.3所示的页面

图9.3 具体下载项

(4)下载上图9.3所示的“5.0.28.exe”项,下载后的文件名为:

jakarta-tomcat-5.0.28.exe

●          注意:

●          

(1)不要下载Tomcat5.5.*版,因为那需要JDK5.0的支持;也不要下载4.1.*版,它的功能太弱了。

因为不同版本之间的安装和配置都会有所不同,为了和本教程同步,一定要下载5.0.28版。

●          

(2)如果用FlashGet等多线程下载工具无法下载,则改用原始的IE右键菜单的“另存为…”项来下载。

2、安装Tomcat

安装Tomcat的过程比较简单,双击得到的下载文件:

jakarta-tomcat-5.0.28.exe,开始安装。

(1)选择安装组件。

接受默认的勾选即可,如下图9.4所示。

图9.4 选择组件

      

(2)选择Tomcat安装目录。

也一样接受默认值,将安装到C:

\ProgramFiles\ApacheSoftwareFoundation\Tomcat5.0目录下,如下图9.5所示:

图9.5 Tomcat的安装目录

      (3)选择HTTP监听端口(Port),如下图9.6所示。

默认端口是8080,如果8080端口已被你电脑上的其他软件所占用(如IIS、JBoss等),则可以另选择一个空闲的端口。

最后,给Tomcat的超级管理员admin设为一个密码(本书设为123456)。

图9.6 设置端口和密码

      (4)设置Tomcat使用的JVM,本书的默认值为“C:

\ProgramFiles\Java\j2re1.4.2_06”,如下图9.7所示。

很多资料都指出,在安装JDK时要设置设置classpath、JAVA_HOME、path等环境变量,但本书从第一章开始就从没有设置过这些环境变量,一样可以运行通畅,也许是新版的JDK1.4.2_06很好的解决了这些问题。

从这一步也可以看到,Tomcat已经在安装时定位好了JVM的位置,不必再手工设置了。

设置好JVM后,单击“install”按钮,开始安装。

图9.7 定位JVM的位置

      (5)安装完成之后,在Windows的“控制面板”→“管理工具”→“服务”窗口中,可以看到Tomcat已经注册为windows的一项服务,如下图9.8所示。

请确定它是“手动”方式,这一点在开发时很重要,因为我们以后要通过Eclipse来启动Tomcat。

图9.8 windows“服务”窗口

3、启动Tomcat

虽然以后在开发时,是要通过Eclipse来启动Tomcat,但现在为了测试Tomcat是否安装成功,暂时先启动Tomcat。

(1)可以通过Windows的“开始”菜单→“ApacheTomcat

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1