10 部署应用程序和applet
跳过 09 Swing用户界面组件
JAR文件
在将应用程序进行打包时, 使用者一定希望仅提供给其一个单独的文件, 而不是一个含有大量类文件的目录, Java归档(JAR)文件就是为此目的而设计的. 一个 JAR 文件既可以包含类文件, 也可以包含诸如图像和声音这些其他类型的文件. 此外, JAR文件是压缩的, 它使用了大家熟悉的ZIP压缩格式.
可以使用jar 工具制作JAR文件(在默认的JDK安装中, 位于jdk/bin目录下), 常见命令格式为:
jar cvf JARFileName File1 File2 ... ( 注意, 这个格式给linux tar 非常像 )
例如: jar cvf CalculatorClasses.jar *.class icon.gif

除了类文件, 图像和其他资源, 每个JAR文件还包含一个用于描述归档特征的清单文件(manifest), 清单文件被命名为 MANIFEST.MF, 它位于JAR文件的一个特殊META-INF子目录中.
最小的符合标准的清单文件很简单: Manifest-Version: 1.0
要想创建一个带清单文件的 JAR, jar cfm MyArchive.jar manifest.mf com/mycompany/mypgk/*.class
要想更新已有的清单文件, jar ufm MyArchive.jar manifest-additions.mf
可运行的 JAR文件
jar cvfe MyProgram.jar com.mycompany.mkpkg.MainAppClass files to add ( 也就是说, 再打包的时候需要加一个参数 e)
注: 清单文件的最后一行必须以换行符结束, 否则, 清单文件将无法被正确的读取.
Java Web Start
java web start 是一项在 internet 发布应用程序的技术. ( 浏览器只是实现了一个提供下载的平台, 用户需要点击下载到本地, 然后运行, 运行也不依赖浏览器, 而是独立运行, 数字签名的应用程序可以被赋予访问本地机器的任意权限, 路径匹配正确, 下载是自动的)
这里只要简单了解一下就可以了。
Applet
Applet 是一种包含在HTML网页中得JAVA应用程序, HTML网页必须告诉浏览器要加载哪个applet以及每个applet放置在网页中的位置.
<applet code="NotHelloWorldApplet.class" width="300" height="300"></applet>
需要浏览器安装一个插件 java plug-in
也只是了解就可以了.
10 部署应用程序和applet的更多相关文章
- 基础知识(10)- 部署应用程序和applet
10.1 JAR文件 10.1.1 清单文件 10.1.2 可运行JAR文件 10.1.3 资源 10.1.4 密封 10.2 Java Web Start 10.2.1 沙箱 10.2. ...
- Java核心技术卷一基础知识-第10章-部署应用程序和applet-读书笔记
第10章 部署应用程序和applet 本章内容: * JAR文件 * Java Web Start * applet * 应用程序首选项存储 10.1 JAR文件 一个JAR文件既可以包含类文件,也可 ...
- [core java学习笔记][第十章部署应用程序]
第10章 部署应用程序和applet jar文件 Java Web Start 10.1 jar文件 jar文件就是一个压缩了类,图像和声音的ZIP压缩文件 创建一个新的JAR文件应该使用的常见命令格 ...
- Delphi 10.2 Linux 程序开发环境部署的基本步骤(网络连接方式要选择桥接或者是Host Only)
Delphi 10.2 Linux 程序开发环境部署的基本步骤 http://blog.qdac.cc/?p=4477 升級到 Delphi 10.2 Tokyo 笔记http://www.cnblo ...
- 五步教你实现使用Nginx+uWSGI+Django方法部署Django程序
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...
- weblogic上部署应用程序
weblogic上部署应用程序有三种方法: 一:修改配置文件config.xml在文件中加入如下代码片段: <app-deployment> <name>FAB</nam ...
- 使用 pm2 优雅的部署 node 程序
使用 pm2 优雅的部署 node 程序 # 启动并监控名字为 XXX 的 npm run start:dev 命令 pm2 start npm --watch --name XXX -- run s ...
- Python3.6+nginx+uwsgi部署Django程序到阿里云Ubuntu16.04系统
Python3.6+nginx+uwsgi部署Django程序到阿里云Ubuntu16.04系统 这个是写好的Django程序在本地机运行的情况,一个查询接口. 准备工作 1.首先购买一台阿里云的EC ...
- 使用Nginx+uWSGI+Django方法部署Django程序(上)
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...
随机推荐
- 【ichartjs】爬取理想论坛前30页帖子获得每个子贴的发帖时间,总计83767条数据进行统计,生成统计图表
统计数据如下: {': 2451} 图形化后效果如下: 源码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//E ...
- Verilog 基础回顾 (一)
Verilog 大小写敏感,且所有关键字都是小写 1 寄存器 register = storage,是数据存储单元的抽象,可视为能够存储数值的变量 (variable that can hold v ...
- ansi 控制码表及颜色代码
颜色代码: QUOTE: 字背景颜色范围: 40--49 字颜色: 30--39 40: 黑 30: ...
- 改善C#程序的建议2:C#中dynamic的正确用法
dynamic是FrameWork4.0的新特性.dynamic的出现让C#具有了弱语言类型的特性.编译器在编译的时候不再对类型进行检查,编译期默认dynamic对象支持你想要的任何特性.比如,即使你 ...
- Android调用系统拍照裁剪和选图功能
最近项目中用到修改用户头像的功能,基本上都是模板代码,现在简单记录一下. 调用系统拍照 private fun openCamera() { //调用相机拍照 // 创建File对象,用于存储拍照后的 ...
- CKEditor与CKFinder学习--CKFinder源代码改动自己定义上传文件名称
CKFinder的系列文章到眼下应该说基本能够满足开发需求了,只是另一个小细节,CKFinder默认上传的文件名称和源文件名称一致,假设文件名称反复会自己主动加入编号"(1)"&q ...
- Java版 数字金额大写转换
需求:读入一个浮点数值,将其转化为中文金额的大写形式.如123.45,转化为:壹佰贰拾叁元肆角伍分. 以下是各种情况要完善: 1. 当金额为整数,只表示整数部分,省略小数部分,并添加“整”字.如123 ...
- 去除Odoo主页中的提示: Your Odoo is not supported.
来自 有两种方法可Odoo主页中的提示: Your Odoo is not supported. 方法1 - 修改源码 打开\addons\mail\static\src\js目录下的mail.js, ...
- 关于SQLite在Android开发中的知识点总结
一.存放位置 1.内部存储-放在 data/data 底下, 也就是内部存储, 里面的文件以及文件夹是私有的, 其他 app 不能访问, 也随着 app 卸载而删除; 2.放在 sd 卡里面, 如果设 ...
- Ubuntu开机自动禁用无线网络
让ubuntu开机自动禁用无线网络. 1.自启动脚本 将下面这条禁用无线网络的命令添加到“启动应用程序“中,这样开机时无线网络就会被自动禁用. dbus-send --system --type=me ...