当项目完成后接下来的就是打包发行了,这里说的非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
上述四步骤便可以完成一个带有各种资源(例如配置文件,本地化文件等)的工程的打包发布。
分享到:
相关推荐
在Java开发过程中,将应用程序打包和发行是项目完成后的关键步骤。这确保了代码能够以易于分发和安装的形式提供给用户。本文将详细介绍Java应用程序的打包与发行过程,以及可能涉及的相关工具。 首先,我们要了解...
在SWT应用程序项目的打包与发行过程中,有几点关键的知识点需要注意。 首先,打包清单文件MANIFEST.MF是整个打包过程的核心。这个文件定义了程序的入口点(Main-Class),也就是程序启动时要调用的主类,以及程序...
#### 一、Java应用项目的打包发行 在Eclipse环境中完成一个Java应用程序后,对其进行打包发行是非常重要的一步。打包的过程不仅包括将项目中的所有类文件和其他资源压缩成一个易于分发的形式,还需要确保这些打包后...
【Java项目打包发行】 在Java开发中,当项目完成后,我们需要将其打包以便于分发和部署。本章节主要探讨如何打包Eclipse中的应用程序项目和Eclipse插件项目。打包过程对于确保程序能在独立环境中正常运行至关重要。...
exe4j是一款强大的工具,专为Java开发者设计,用于将Java应用程序打包成Windows平台下的可执行文件(.exe)。这个工具使得Java应用能够无需JVM(Java Virtual Machine)即可在Windows系统上运行,大大提高了用户的...
集成JDK:Java Development Kit(JDK)是开发和运行Java应用程序的必备组件。在打包过程中,需要将JDK的二进制文件、库文件、配置文件等放入RPM的指定目录,并设置环境变量,如`JAVA_HOME`,确保系统能找到Java执行...
Java应用程序在完成开发后,可以通过打包成为一个JAR包,使其能够在不依赖Eclipse等集成开发环境的情况下运行。打包的关键在于创建并配置`MANIFEST.MF`文件,指定执行入口类和支持库的路径。此外,如果项目中使用了...
这个“JAVA项目发布成安装文件(齐全)”的压缩包提供了完整的解决方案,包括将Java应用程序转换为Windows平台下的可执行exe文件,以及打包成安装包的能力。下面将详细阐述相关知识点: 1. **Java应用程序转EXE**: ...
- 首先,确保项目在Eclipse中以发行版本成功编译,这样Eclipse会生成必要的Makefiles。接着,复制项目以创建一个工作副本,后续操作都在副本上进行。 - 将复制的源代码目录重命名为符合Deb标准的格式,如`[package...
Maven本身是一个Java应用程序,因此在运行任何Maven命令之前,必须确保系统已经安装了Java Development Kit (JDK)。JDK提供了一个Java虚拟机(JVM),使得Maven能够运行在任何支持Java的平台上。通常,Maven的可执行...
- 在Linux环境下,可以创建System V init脚本或者使用Upstart配置来启动Java程序。这些脚本会在系统启动时执行,启动Java应用。 - 需要编写一个`.conf`文件,配置启动命令、环境变量等,并将其添加到相应的启动...
- 可以通过编写Java程序来配置Tomcat的端口等参数。 9. **安装完成后自动启动服务器** - 安装完成后,可以通过命令行方式自动启动Tomcat服务器。 10. **选择JVM环境包** - 根据系统的架构选择合适的JVM环境包。...
总的来说,exe4j作为一个强大的打包工具,对于Java开发者来说,它提供了便捷的方式将Java应用程序打包成易于分发和执行的形式,同时降低了对用户系统的依赖性。通过深入理解和使用exe4j,开发者可以提高其Java应用的...
【标题】"基于Java的源码-多环境应用程序框架 WebOnSwing.zip" 提供的是一种用Java语言实现的多环境应用框架,该框架专为构建可在不同环境下运行的桌面应用程序设计。WebOnSwing这个名字暗示了它可能将Web技术与传统...
你可以开始使用`javac`编译Java源代码,使用`java`命令运行程序,或者利用`jar`工具打包和管理Java应用程序。这个过程虽然相对手动,但能确保你对Java的安装路径和环境配置有完全的控制。对于那些依赖特定Java版本的...
Java 运行时环境(JRE)允许您执行 Java 应用程序,组件和小程序,而 Java 开发套件(JDK)提供了一套全面的工具,供程序员构建,运行,调试甚至记录 Java 代码。 您还可以访问 JRE 的 Java 虚拟机(JVM)组件以及...
小剧场短剧影视小程序源码 全开源 带支付收益等模式 付费短剧小程序源码 多平台小程序支持 项目功能介绍 ...前端支持打包 抖音小程序,快手小程序,百度小程序,H5和微信小程序 需要哪个端就发行到哪个端即可
在Windows CE(简称Wince)操作系统上运行Java应用,就需要一个专门为这个平台优化的JVM。"Java虚拟机wince版"指的是专门为Windows CE系统设计的Java虚拟机实现,确保在该操作系统上能够执行Java字节码。 Windows ...