`
jy00509336
  • 浏览: 243545 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

java应用程序项目的打包与发行--脚本运行java程序

阅读更多
转载自: http://blog.chinaunix.net/u/28326/showart_444618.html

当项目完成后接下来的就是打包发行了,这里说的非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开发过程中,将应用程序打包和发行是项目完成后的关键步骤。这确保了代码能够以易于分发和安装的形式提供给用户。本文将详细介绍Java应用程序的打包与发行过程,以及可能涉及的相关工具。 首先,我们要了解...

    eclipse-java-2022-03-R-linux-gtk-x86_64.tar.gz

    总的来说,"eclipse-java-2022-03-R-linux-gtk-x86_64.tar.gz"是一个针对64位Linux系统的Eclipse IDE for Java的最新版本,适合进行Java开发和运维工作,提供了丰富的开发和管理功能,且与Linux环境紧密集成,使用...

    eclipse-项目打包与发行

    ### Eclipse项目打包与发行:深度解析与实操指南 在软件开发领域,项目的打包与发行是将源代码转化为可执行程序或库的关键步骤。对于使用Eclipse IDE进行开发的项目而言,这一过程同样至关重要,它确保了应用程序...

    Modulare-Multi-Release-JAR:多发行版JAR和Java模块

    通过此功能,可以在单个JAR中为不同的Java运行时环境打包相同类的多个版本。 该示例显示了考虑Java版本8、9和10以及Java模块的情况下该选项的使用。 要求 Java> = 10编译器 编译应用 执行构建脚本或通过命令行构建...

    eclipse-java-2022-09-R-linux-gtk-aarch64.tar.gz

    7. **部署支持**:可以帮助打包和部署应用程序到各种服务器平台,如Tomcat、Jetty等。 由于这个版本是针对Linux GTK界面的,这意味着它使用GTK+库来呈现图形用户界面,这是Linux上常见的GUI工具包之一。在aarch64...

    JAVA项目发布成安装文件(齐全)

    这个“JAVA项目发布成安装文件(齐全)”的压缩包提供了完整的解决方案,包括将Java应用程序转换为Windows平台下的可执行exe文件,以及打包成安装包的能力。下面将详细阐述相关知识点: 1. **Java应用程序转EXE**: ...

    基于Java的源码-多环境应用程序框架 WebOnSwing.zip

    【标题】"基于Java的源码-多环境应用程序框架 WebOnSwing.zip" 提供的是一种用Java语言实现的多环境应用框架,该框架专为构建可在不同环境下运行的桌面应用程序设计。WebOnSwing这个名字暗示了它可能将Web技术与传统...

    集成jdk+mysql+tomcat+web项目打包成rpm

    集成JDK:Java Development Kit(JDK)是开发和运行Java应用程序的必备组件。在打包过程中,需要将JDK的二进制文件、库文件、配置文件等放入RPM的指定目录,并设置环境变量,如`JAVA_HOME`,确保系统能找到Java执行...

    java 开机自启动 完整工程

    - JSW是一个用于将Java应用程序包装为操作系统服务的工具,它提供了跨平台的服务管理功能。 2. **使用System V或Upstart服务**(针对Linux): - 在Linux环境下,可以创建System V init脚本或者使用Upstart配置来...

    maven 可执行程序 文档 需要java环境

    Maven本身是一个Java应用程序,因此在运行任何Maven命令之前,必须确保系统已经安装了Java Development Kit (JDK)。JDK提供了一个Java虚拟机(JVM),使得Maven能够运行在任何支持Java的平台上。通常,Maven的可执行...

    JAVA 开发环境 Java SE Development Kit (JDK) 16.0.1 x64.zip

    Java 运行时环境(JRE)允许您执行 Java 应用程序,组件和小程序,而 Java 开发套件(JDK)提供了一套全面的工具,供程序员构建,运行,调试甚至记录 Java 代码。 您还可以访问 JRE 的 Java 虚拟机(JVM)组件以及...

    Deb安装包的制作方法

    - 首先,确保项目在Eclipse中以发行版本成功编译,这样Eclipse会生成必要的Makefiles。接着,复制项目以创建一个工作副本,后续操作都在副本上进行。 - 将复制的源代码目录重命名为符合Deb标准的格式,如`[package...

    行业分类-设备装置-部署、合并发行独立应用程序的方法、计算机可读媒体和系统.zip

    系统配置必须与应用程序兼容,才能确保软件的正常运行。 6. **方法**:在描述中提到的方法可能涵盖了软件部署和合并发行的具体技术、流程或最佳实践。这些方法可能包括使用脚本语言自动化部署、使用容器化技术如...

    JAVA 开发环境 Java SE Development Kit (JDK) 16.0.1 x64 免费下载.zip

    Java 运行时环境(JRE)允许您执行 Java 应用程序,组件和小程序,而 Java 开发套件(JDK)提供了一套全面的工具,供程序员构建,运行,调试甚至记录 Java 代码。 您还可以访问 JRE 的 Java 虚拟机(JVM)组件以及...

    java web开发部署神器--jetty插件

    解压这个压缩包后,我们可以看到包括bin、lib、webapps等目录,其中bin目录下提供了启动和停止Jetty的脚本,lib目录包含运行所需的各种库文件,而webapps目录则是部署Web应用的地方。 使用Jetty,我们可以通过以下...

    map of java平台

    - **Java Plug-in**:允许浏览器中的Java应用程序和Applets与桌面应用程序具有相同的功能。 - **监测与故障排除**:Java平台提供了多种工具来监测和诊断应用程序的性能问题,例如JConsole、VisualVM等。 ### 脚本与...

    Java虚拟机的移植

    在本案例中,要将Java虚拟机移植到特定的UP-CUP6410学习板上,这意味着需要为该开发板提供一个能正确运行Java程序的虚拟机环境。 三、开发环境要求: - 开发板:UP-CUP6410,是移植目标硬件。 - 计算机:通用计算机...

    installanywhere2009打包项目简单步骤

    为了方便用户安装和运行Web应用程序,开发者通常会使用专门的工具来打包应用程序及其依赖。其中,InstallAnywhere是一款非常流行的跨平台安装程序构建工具,它可以用来创建定制化的安装程序,使得最终用户能够轻松地...

    gradle-7.3.3-bin.rar

    4. **初始化项目**:在项目根目录下,使用 `gradle init` 命令创建一个新的Gradle项目,可以选择不同类型的项目模板(如Java应用、库等)。 5. **构建脚本**:编辑 `build.gradle` 文件,定义构建规则,如编译、打包...

    eclipse-jee-2023-06-R-linux-gtk-x86-64.tar.gz

    “eclipse-jee”表示这是Eclipse的Java EE版本,它包含了用于Web应用开发、服务器连接、数据库管理等一系列与Java企业级开发相关的特性。 在压缩包子文件的文件名称列表中只列出了“eclipse”,这通常意味着解压后...

Global site tag (gtag.js) - Google Analytics