打包和部署桌面的Java应用程序_第1页
打包和部署桌面的Java应用程序_第2页
打包和部署桌面的Java应用程序_第3页
打包和部署桌面的Java应用程序_第4页
打包和部署桌面的Java应用程序_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

打包和部署桌面的打包和部署桌面的 Java 应用程序应用程序 http netbeans org kb articles javase deploy html Contributed by Max Sauer and maintained by Patrick Keegan 一个对很多起步的编程员共有的反馈问题是 我已经在 IDE 中开发了我的应用程序 那 么现在我如何在 IDE 之外的命令行运行我的应用呢 类似的 有些人会问起 我如何 将这个应用程序分发给其他用户 而不必将整个 IDE 也一起发送给他们 这些问题的答案是相当简单 但却不是非常明显 本文将带您一起通过使用 IDE 来准备一 个用来分发的应用例子 然后部署这些应用例子 另外 本文还提供一些信息 你也许需 要这些信息来配置你的系统 或者你需要将这些信息传递给你的应用程序用户 我们将展 示一些不同的部署一个应用的途径 因而用户可以采用不同的办法来打开该应用 双击应用的 java 包 jar 文件 从命令行调用该应用 从脚本文件调用该应用 在讨论中 我们将介绍 JAR 文件的基本结构以及 JAR 文件如何处理内部 IDE 项目 预期学习时间 主练习画 30 分钟 任选练习 15 分钟 必要条件 本辅导课没有任何必要的先决条件 软件或资源软件或资源要求版本要求版本 NetBeans IDEJava SE Java or All bundle Java Development Kit JDK version 6 or version 5 教程练习 设置 安装和配置教程环境 主要练习 创建和分发可执行文件的 JAR 文件 任选练习 从命令行启动你的 Java 应用程序 设置 安装和配置教程环境 下载文件 DeploymentTutorial zip 并且在你的系统中解压这个文件 该压缩文件包含了这 个应用的源文件以及其它几个对本教程有用的文件 在微软的 Windows 系统 使用 WinZip 或者其它类似的压缩打包软件解压该压缩文件 为了在 UNIX 系统解压该压缩文件 改变路径到压缩文件的目录并在终端窗口输入如下的 命令 unzip DeploymentTutorial zip 主要练习 创建和分发可执行的 JAR 文件 练习的目的是向您展示如何从 IDE 创建一个可分发的应用并且从 IDE 之外去运行该应用 我们将把此应用打包成可执行的 JAR 文件 JAR 文件是一个压缩文件 它可以包含多个文 件和文件夹 JAR 文件类似于 ZIP 文件 但是 JAR 文件可以具有附加的特性 这些特性对分 发 java 应用是很有用的 在这个练习中 您创建一个 IDE 项目然后把两个预先写好的 java 源文件放进这个项目中 接着您将编译这些类并建立一个可执行的 JAR 文件 随后您会学习如何在 IDE 之外运行这 个 JAR 文件 这些类实现了 GNU grep 工具的功能 该工具能够用来在文件内部搜索文本或正则表达式模 式 这个项目包含命令行和 GUI 两种版本 因此您可以看到不同的运行此应用的方法 设置项目 设置项目步骤 1 在 NetBeans IDE 中选择 File New Project 文件 F 新建项目 W Ctrl Shft N 2 在 新建项目 页中 类别选择 java 项目选择 Java Project With Existing Sources 基于现有源代码的 Java 项目 单击 Next 下一步 3 在 新建 基于现有源代码的 java 项目 向导中 在 Name and Location 名称和位 置 页中 填入项目的名称和位置 保持 Set as Main Project 设置为主项目 单选项 为选中状态 单击 Next 下一步 例如 键入 AnotherGrep 作为项目名称 对于项目文件夹 您可以就用缺省值 项目所在文件夹完全没有必要和您引入项目的源文件在同一位置 4 在向导的 the Existing Sources 现有源代码 页 您给出要引入项目的源文件 单击 Add Folder 添加文件夹 按钮 该按钮是在 Source Package Folders 源包文件夹 域的右侧 然后浏览到 Deployment Tutorial 文件夹 这是您刚才已经解压到您系统的 文件夹 展开这个文件夹 选择 src 文件夹 并且单击 Open 打开 src 文件夹就被 加入到您的 Source Package 源包文件夹 域里了 5 点击 Finish 完成 该项目在 IDE 中打开并且变成在项目窗口可见 您可以通过展开该项目的原文件包节点来 展开该项目的内容 您应该在那里看到名叫 Grep 和 xGrep 类 Grep java 是该应用的控制 台模式 而 xGrep java 则是该应用的 GUI 模式而且它使用在 Grep java 中定义的方法 配置项目 此时 您已经有了让项目工作的所有源文件 然而还有一些配置工作要做 您需要 设置项目的主类 通过这样做 您确保在创建项目时建立的 JAR 文件是可执行的 将 the Swing Layout Extensions 库添加的项目中 这一步是必须的 因为 xGrep java 要 使用这个新的 GroupLayout layout manager 类 到目前为止这些类还没有包含在 JDK 中 GroupLayout 将被加入到 JDK 6 设置项目主类 为了让您的用户很容易运行您的 JAR 文件 通过双击 JAR 文件或者通过在命令行键入 java jar AnotherGrep jar 就必须在 JAR 文件的清单文件中 manifest file 指定主类 清单文件是 JAR 文件的标准组成部分 它包含关于 JAR 文件的有关信息 在您要运 行应用时 这些信息对 java 执行程序会用到 当您创建一个项目时 IDE 就建立一个 JAR 文件并且包含一个清单文件 当您设置项目 的主类时 就会确保在您随后建立这个项目时该主类将被指定在清单文件中 设置项目的主类 1 右键项目节点并选择 Properties 属性 2 在类别里选择 Run 运行 并在 the Main Class 主类 域浏览 在浏览 主类窗口选择 anothergrep xGrep 并点击 选择主类 旋钮 选定主类 3 点击 OK 确定 关闭项目的属性对话窗口 当您随后在本教材中创建此项目时便会建立清单文件并包含下面的项 Main Class anothergrep xGRep 添加必要的库 如果您正在开发的项目依赖于来自其它库的代码 您必须从您的项目中指明这些库 这点对于您的项目顺利通过编译而且对于该应用容易成为可分发的都是是必须的 您可以通过项目的库节点来给项目添加库 在本例中 xGrep java 依赖于 the the new GroupLayout layout manager 类 这些类当 前还没有包含在 JDK 中 GroupLayout 将会被添加到 JDK 6 中 眼下 the GroupLayout classes 可以在 the Swing Layout Extensions library 库里找到 IDE 在其库管理器中包含 了 the Swing Layout Extensions library 因而很容易添加到您的项目中 添加 the Swing Layout Extensions 库 1 右键项目的库节点并选择 Add Library 添加库 2 在 Add Library 添加库 对话框中 选择 Swing Extensions Layout Swing 布局扩展 并点击 Add Library 添加库 按钮 注意 如何您发现 the Swing Layout Extensions 已经添加到您的项目中了 这可能是由 于您已经在 IDE 打开 xGrep java 文件的结果 当您打开一个文件 该文件使用到 the Swing Layout Extensions 库里的类或者当您使用 the Matisse GUI Builder 创建一个应用时 IDE 自动添加 the Swing Layout Extensions 库到您的项目中 但是这种自动添加库的模 式对于其它库并不工作 当您随后建立该项目时 下面的条目就被添加到该应用的 JAR 文件的清单文件中 Class Path lib swing layout 1 0 jar 注意 您也可以添加任意的 JAR 文件或者文件夹 使用 Add JAR Folder 命令 或者其它项目的 输出 使用 Add Project 命令 创建项目并建立 JAR 文件 现在 您准备好了您的源文件并且您的项目已配置 是时候来生成项目啦 建立项目 选择 Run Build Main Project 运行 生成主项目 当您建立您的项目时 在您的项目目录中创建了 build 和 dist 两个目录 从现在起我们把项目目录称为 PROJECT HOME 目录 所有源文件编辑为 class 文件而且都放在 PROJECT HOME build 目录里 在 PROJECT HOME dist 目录产生了一个包含您的项目的 JAR 文件 如果您为项目指定了任何的库 除了 JDK 在 dist 目录会建立一个 lib 目录 并将指定 的库都拷贝到 dist lib 目录中 JAR 中的清单文件刷新包含进来一些条目 用来指定主类以及在项目的 classpath 的所 有库 注意 您可以在 IDE 的文件窗口查看清单文件的内容 在建立了项目之后 切换到文件窗 口并导航到 dist AnotherGrep jar 展开 JAR 文件的节点 展开 META INF 文件夹 并且双 击 MANIFEST MF 以便在文件编辑窗口显示清单文件内容 Main Class anothergrep xGRep Class Path lib swing layout 1 0 jar 关于清单文件更多的知识 您可以从 the Java Tutorial 中阅读有关章节 在 IDE 环境运行应用 当在 IDE 中开发应用时 在分发之前 通常你会需要测试和完善他们 通过从 IDE 中运行 应用程序 您可以方便地测试您正在开发的应用程序 要在 IDE 运行 AnotherGrep 项目 只须在项目窗口中右键项目节点 AnotherGrep 并且选择 运行项目 Run Projec xGrep 窗口应该打开 您可以点击 Browse 按钮来选择一个要在其中搜索文本表达式的文 件 在 Search Pattern 域里 键入要搜索匹配的文字或正则表达式 再点击 Search 匹 配的所有结果就会显示在 xGrep 窗口的输出区域 在这个应用中可以使用的正则表达式信息可以在这里以及万维网的其它地方找到 在 IDE 之外运行该应用 一旦您完成应用的开发 在分发之前 您可能希望确保应用程序也可以在 IDE 外部工作 您可以在 IDE 之外通过下面的步骤运行该应用 在您的系统文件管理器 例如 在 Windows XP 系统中 我的电脑窗口 导航到 PROJECT HOME dist 并且双击 AnotherGrep jar 文件 当 xGrep 窗口打开时您就可以知道应用已经成功的启动了 如果 xGrep 窗口没有打开 您的系统有可能不存在 JAR 文件和 Java 运行环境之间的文件 关联 参看下面的 疑难解答 JAR 文件关联 分发应用给其他用户 您已验证在 IDE 之外 应用可以工作 现在 就可以将其分发 您可以通过以下步骤来分发应用程序 1 创建一个 zip 文件 它包含应用程序 JAR 文件 AnotherGrep jar 以及随同的包含 swing layout 1 0 jar 的库文件夹 2 将文件分发给应用程序的用户 并告诉他们 解压该 zip 文件 并确保 AnotherGrep jar 文件和 lib 文件夹在同一文件夹中 您的应用程序用户应该能够通过双击 JAR 文件来运行该应用 如果对他们应用不能工 作 请他们参看下面的 疑难解答 JAR 文件关联 中的信息 疑难解答 JAR 文件关联 在大多数系统 您可以简单地双击一个 JAR 文件来执行可执行的 JAR 文件 如果当您双击 该 JAR 文件时 什么也没有发生 那么可能是由于下面的两个中的任一原因 可能在该系统 JAR 文件类型不与 Java 运行时环境 JRE 关联 如果该 JAR 文件类型和一个 JRE 关联 代表该文件的图标应包括一个 Java 徽标 JAR 文件类型倒是和 JRE 关联 但是当您双击该图标时 传递给 JRE 的命令行并没有 包含 jar 选项 注意 有时 JAR 文件关联会在安装其它软件时被切换 比如处理 zip 文件的软件 Microsoft Windows 系统上添加 JAR 文件关联 1 确保有一个版本的 JRE 安装在您的系统上 您应该使用 1 4 2 或更高版本 如果您已 安装 JDK 你也将获得 JRE 但是 如果要分发此程序给非编程人员 这个人不一定 有 JRE 或者 JDK 对 Windows XP 您执行 开始 控制面板 添加或删除软件 从显示的清单您可以 检查已安装的 JRE 版本 当然并不真要删除 如果系统上没有 JRE 你从 Java SE 下载站点下载一个 如果你有 JRE 安装在您的系统 但该文件关联不工作 继续执行下面的步骤 2 选择 开始 控制面板 3 双击文件夹选项 4 选择文件类型的选项卡 5 在已注册的文件类型列表中 选择 JAR 文件 6 在对话框的详细部分中 单击更改 7 在 Open With 的对话框中 选择 Java Platform SE Binary 8 单击确定以退出 Open With 对话框 9 单击关闭退出文件夹选项对话框 如果 在您的系统 JAR 文件已经和 Java Platform SE Binary 关联 但双击还是不执行 JAR 文件 您可能需要在文件关联中指定 jar 选项 在文件关联中指定 jar 选项 1 选择 开始 控制面板 2 双击文件夹选项 3 选择文件类型的选项卡 4 在已注册的文件类型列表中 选择 JAR 文件 5 在对话框的详细部分中 单击高级 6 在编辑文件类型的对话框中 单击编辑 7 在用于执行操作的应用程序文本框中 在路径的末尾添加以下内容 jar 1 之后 该文本框中应该有类似以下内容的文本 C Program Files Java jre1 6 0 14 bin javaw exe jar 1 8 单击确定以退出 编辑这种类型的操作 the Editing Action for Type 对话框 9 单击确定以退出 编辑类型 Edit File Type 对话框 10 单击关闭退出文件夹选项对话框 对于 UNIX 和 Linux 系统 更改文件关联的过程取决于的您使用的桌面环境 比如 GNOME 或 KDE 看着你的桌面环境的首选项设置或者咨询的桌面环境的文档 任选练习 从命令行启动 Java 应用程序 这个练习的目的是向您展示一些您可以从命令行打开应用的方法 本练习展示您可以如何用下面的两个办法开始一个 java 应用 从命令行运行 java 命令 使用脚本调用 JAR 文件中的类 从命令行启动应用程序 您可以通过使用 java 命令从命令行启动应用程序 如果要运行一个可执行 JAR 文件 请 使用命令的 jar 选项 例如 运行应用 AnotherGrep 你将采取以下步骤 1 打开终端窗口 在 Microsoft Windows 系统上 您可以通过选择开始 运行 在打开框 中键入 cmd 然后单击 OK 2 将目录更改到 PROJECT HOME dist 文件夹 使用 CD 命令 3 键入以下命令行运行该应用程序的主类 java jar AnotherGrep jar 如果你遵循这些步骤但应用程序并未运行 您可能需要做以下的事情之一 在上面第三步中将 java binary 的路径包含进去 例如 根据你的 JDK 或 JRE 所在的具 体位置 您可以键入类似以下的命令行 C Program Files Java jdk1 6 0 14 bin java jar AnotherGrep jar 将 Java binaries 添加到 PATH 环境变量 这样你再也不需要从命令行来指定 java binary 路径 请参见下面的 设置 PATH 环境变量 通过脚本启动应用程序 如果您要分发的应用程序是一个控制台应用程序 你可能会发现从一个脚本来启动应用程 序更方便 特别是如果应用程序运行时要求长而复杂的参数 本节中 您将使用 Grep 程 序的控制台版本 这时您需要传递参数给 JAR 文件 搜索模式和文件列表 这个 JAR 文件 我们下面将要通过脚本来调用 使用脚本可以减少在命令行中键入 下面让我们编写一个 适用于运行测试应用程序的简单的脚本 首先你需要更改应用程序中的主类 改为该类的控制台版本 并重新生成 JAR 文件 1 在 IDE 中的项目窗口 右键单击项目节点 AnotherGrep 然后选择属性 2 选择运行节点 然后更改主类属性 从 anothergrep xGrep 改为 anothergrep Grep 单 击确定以关闭项目属性窗口 3 再右键单击项目节点然后选择清理并生成项目 完成这些步骤后 会重新生成 JAR 文件 并将 JAR 文件的清单文件中的主类特性更改为指 向 anothergrep Grep BASH 脚本 对 UNIX 和 Linux 机器 在 PROJECT HOME 内 我们给出了一个 bash 脚本 grep sh 我们来看看它 bin bash java cp dist AnotherGrep jar anothergrep xGrep 第一行告诉什么外壳将用来解释它 第二行运行您的 JAR 文件 该 JAR 文件是由 IDE 产生 放在 PROJECT HOME dist 目录里 只是复制所有给定的封闭在每个引号内的参数 此脚本假定 Java binaries 是 PATH 径环境变量的一部分 如果对你脚本不工作 请参见下面 的 设置 PATH 环境变量 更多有关 bash scripting 可以在这里找到 对于对于 Windows 机器的机器的 bat 脚本脚本 在微软的 Windows 系统 您一次最多只能向一个批文件传递 9 个参数 如果有超过 9 个 参数 您需要执行多次的 JAR 文件 一个处理这个应用的脚本可能看起来就像下面的文件一样 echo off set jarpath dist AnotherGrep jar set pattern 1 shift loop if 1 goto allprocessed set files 1 2 3 4 5 6 7 8 9 java jar jarpath pattern files for i in 0 1 2 3 4 5 6 7 8 do shift goto loop allprocessed 这个脚本文件已

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论