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

当项目完成后接下来的就是打包发行了,这里说的非Applet,Web application等,而是指纯粹的控制台程序或有图形界面的java程序。通常程序的打包发行指把程序打包成.exe执行文件或脚本文件来方便用户的执行使用。在工作中完成一个车辆定位后台通信服务程序,主要通过UDP协议与终端设备进行数据的传输,在开发完后进入程序的打包发布阶段,通过查找资料,在网络上搜索到一篇文章--java应用程序项目的打包与发行,此文叙述清楚,按其操作成功,现根据此文对脚本运行java程序的打包发布步骤进行简单的总结,详细内容见本人博客中的《java应用程序项目的打包与发行》一文。

主要有以下三个要点
l MANIFEST.MF - 打包清单。它是打包的关键性文件,主要是设置执行入口类和支持库的路径,在运行Java应用程序时是要根据此文件中给出的信息来查找入口类和支持库。

l 支持包 -如果Java应用程序用到了一些类库包,那么就必须将这些包也复制到程序运行目录,否则程序将无法运行。如swt组件支持包swt.jar,jface组件支持包jface.jar。这些包都要在MANIFEST.MF文件中设置好。

l 资源文件 - 例如程序中用到本地化文件,资源文件等,需要把这些资源文件复制到程序运行目录,否则程序将无法运行。


打包的具体操作步骤 :

以下步骤的说明都是以开发工具 eclipse,工程agps为例,如果手动或使用其他工具来打包程序,可能步骤方式不同,但原理同。

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

Manifest-Version: 1.0

Main-Class: com.mdragonway.agps.VGListener

Class-Path: ./lib/log4j.jar ./lib/msbase.jar ./lib/mssqlserver.jar

./lib/msutil.jar ./lib/weblogic.jar ./lib/xbean.jar

说明:

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

l Main-Class - 指定程序运行的入口类。本例设为运行4.5.2节开发的向导式对话框。注 意:类名后不要加class扩展名

l Class-Path - 指定支持库的路径。“.”指程序运行目录,即导出的JAR包所在目录。程序运行时依据Class-Path项的设置路径来查找支持库。每一个支持库之间用空格隔开。在这里jface.jar需要用到runtime.jar包,所以runtime.jar包也要加入到Class-Path中。

l 除了入口类的包名和类名之外,其他设置项都不分大小写,比如:Class-Path写成class-path或CLASS-PATH也可以,swt.jar写成SWT.JAR也行。

(2)将清单文件保存下来,建议放在工程项目的根目录下。它的文件名可以任意取,本例取名为manifes.txt,利用一些工具如Eclipse向导在打包时会自动的将manifes.txt的内容复制到JAR包的META-INF目录下的MANIFEST.MF文件中。

2.把源码文件打成jar包

根据manifes.txt文件对源码进行打包,在eclipse中打包过程中选择“从工作空间中使用现有清单”选项选择上述编辑好的清单文件,完成打包后的agps.jar文件放到agps目录下,agps.jar的内部目录一般会有程序源码的包路径和META-INF目录,META-INF中仅一个文件:MANIFEST.MF,它和以前创建的清单文件manifest.txt的内容是一样的,如下:
Manifest-Version: 1.0

Main-Class: com.mdragonway.agps.VGListener

Class-Path: ./lib/log4j.jar ./lib/msbase.jar ./lib/mssqlserver.jar

./lib/msutil.jar ./lib/weblogic.jar ./lib/xbean.jar

把生成的jar文件

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

把MANIFEST.MF文件中的Class-Path项设置指把定的类库文件拷贝到agps目录中的lib目录下,把资源文件拷贝到agps目录下,

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

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

javaw -jar agps.jar

说明:

l javaw对应c:\jdk\jre\bin\javaw.exe文件,如果windows提示命令未发现,则需要将c:\jdk\jre\bin路径加入到windows环境变量path中。

l 在运行程序的时候有一个讨厌的黑色命令行窗口,要去掉它,可以将run.bat内容更改如下:“start javaw -jar myswt.jar”,start是指调用了windows的“运行”命令。

l 如果想将swt-win32-3063.dll也放在单独的目录中,如“D:\myswt_application\resources”目录,则需将run.bat内容更改为:

start javaw -Djava.library.path=./resources/ -jar myswt.jar


上述四步骤便可以完成一个带有各种资源(例如配置文件,本地化文件等)的工程的打包发布。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值