《head first java 》读书笔记(五)
Updated 2014/04/09 P581--P615
如何组织、包装与部署Java程序。
部署的选择
本机: Executable Jar
两者之间的结合: Web Start, RMI app
远程
将源代码与类文件分离(javac 的-d选项指定class存放目录)。-d选项会要求编译器将编译结果根据包的结构来建立目录并输出,如果目录还没有建好,编译器会自动处理这些工作。
标准的组织化结构是创建出项目目录,然后在其下建立source和classes目录。
创建可执行的JAR
1. 确定所有的类文件都在classes目录下
2. 创建manifest.txt来描述哪个类带有main()方法 (Main-Class: MyApp)
3. 执行jar工具来创建带有所有类以及manifest的JAR文件
jar –cvmf manifest.txt app1.jar *.class
或jar –cvmf manifest.txt app1.jar MyApp.class
执行JAR
%cd Myproject/classes //Java虚拟机必须要能找到JAR,所以它必须在classpath下。让JAR
//曝光的最好方式是把它放在工作目录下。
%java –jar app1.jar
1.将类以包来组织,并在前面加上域名称以防止命名冲突。
2.要让编译过的类可以放在正确的包目录结构中,使用-d编译标识:
%cd source
%javac –d ../classes com/wickedlysmart/Foo .
3.切换到classes目录然后指定完整的类名来执行程序:
%java com.wickedlysmart.Foo
4.可以把类包进JAR中,它的格式是根据pkzip制作的。
5.将描述哪个类带有main()的manifest包进JAR中可以制作出可执行的AR文件。manifest文件是个带有像下面这样设定的文本文件,最后要换行才能保证正确:
Main-Classes: com.wickedlysmart.Foo
6.用下面的命令格式来创建JAR文件:
jar –cvfm manifest.txt MyJar.jar com
7.JAR中的结构必须完全的符合包的目录结构
8.以下面的命令格式来执行JAR: java –jar MyJar.jar
Java Web Start
将程序制作成可执行的JAR
编写.jnip文件
把.jnip与JAR文件放到Web服务器
对Web服务器设定新的mime类型
设定网页链接到.jnip文件
对JWS应用程序而言,一旦从网站上面下载后,用户不必通过浏览器就可以离线执行程序
Java远程调用(RMI)技术,Servlet,Enterprise Java Bean(EJB), Jini ,以及EJB与Jini如何运用RMI
一般来说,对象的方法调用都是在相同的Java虚拟机上面进行的。
如果要调用不同机器上的对象的方法呢?
………….(因为Jar后面的东西目前没涉及到,没有继续读下去)
《head first java 》读书笔记(五)的更多相关文章
- JAVA编程思想读书笔记(五)--多线程
接上篇JAVA编程思想读书笔记(四)--对象的克隆 No1: daemon Thread(守护线程) 参考http://blog.csdn.net/pony_maggie/article/detail ...
- JAVA编程思想读书笔记(四)--对象的克隆
接上篇JAVA编程思想读书笔记(三)--RTTI No1: 类的克隆 public class MyObject implements Cloneable { int i; public MyObje ...
- JAVA编程思想读书笔记(三)--RTTI
接上篇JAVA编程思想读书笔记(二) 第十一章 运行期类型判定 No1: 对于作为程序一部分的每个类,它们都有一个Class对象.换言之,每次写一个新类时,同时也会创建一个Class对象(更恰当的说, ...
- JAVA编程思想读书笔记(二)--容器
接上篇JAVA编程思想读书笔记(一) 第八章.对象的容纳 No1: java提供了四种类型的集合类:Vector(矢量).BitSet(位集).Stack(堆栈).Hashtable(散列表) No2 ...
- Java编程思想读书笔记之内部类
现在是够懒得了,放假的时候就想把这篇笔记写出来,一直拖到现在,最近在读<Java编程思想>,我想会做不止这一篇笔记,因为之前面试的时候总会问道一些内部类的问题,那这本书的笔记就从内部类开始 ...
- Java编程思想读书笔记(一)【对象导论】
2018年1月7日15:45:58 前言 作为学习Java语言的经典之作<Java编程思想>,常常被人提起.虽然这本书出版十年有余,但是内容还是很给力的.很多人说这本书不是很适合初学者,我 ...
- Java编程思想读书笔记(二)【一切都是对象】
begin 2018年1月9日17:06:47 第二章 一切都是对象 Java语言假设我们只进行面向对象的程序设计. 2.1 用引用操纵对象 每种编程语言都有自己的操纵内存元素的方式 操纵内存元素的方 ...
- <Java编程思想>读书笔记(1)-对象导论、一切都是对象
1.面向对象编程:OOP (Object-oriented Programming) 2.Alan Kay 总结的面向对象语言5个基本特性: 1) 万物皆为对象 2) 程序是对象的集合,他们通过发送消 ...
- Java编程思想读书笔记
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- Java编程思想读书笔记--第14章类型信息
7.动态代理 代理是基本的设计模式之一,它是你为了提供额外的或不同的操作,而插入的用来代替“实际”对象的对象.这些操作通常涉及与“实际”对象的通信,因此代理通常充当着中间人的角色. 什么是代理模式? ...
随机推荐
- php折线图 布局图
例子1: 1 <?php require_once("../conf.php"); ?> <!DOCTYPE HTML> <html> < ...
- jquery.cookie.js 使用方法
Cookies 定义:让网站服务器把少量数据储存到客户端的硬盘或内存,从客户端的硬盘读取数据的一种技术: 下载与引入:jquery.cookie.js基于jquery:先引入jquery,再引入:jq ...
- hdu 1879 继续畅通工程
/************************************************************************/ /* hdu 1879 继续畅通工程 Time L ...
- 不用Unity库,自己实现.NET轻量级依赖注入
在面向对象的设计中,依赖注入(IoC)作为一种重要的设计模式,主要用于削减计算机程序的耦合问题,相对于Java中的Spring框架来说,微软企业库中的Unity框架是目前.NET平台中运用比较广泛的依 ...
- vim包,已自带所有常用插件及常用命令总结
/** ****************************************************************************** * @author Maox ...
- NSS_07 extjs中grid在工具条上的查询
碰到的每个问题, 我都会记下走过的弯路,尽量回忆白天的开发过程, 尽量完整, 以使自己以后可以避开这些弯路. 这个问题在系统中应用得比较多, 在一个gridpanel的工具条上有俩搜索框, panel ...
- MQTT开发小记(一)
最近在协助公司硬件组进行MQTT协议的嵌入式SDK包开发. 简述一下MQTT MQTT简单的来说是一种订阅/发布模式的通信形式,一般分为客户端和服务器端. MQTT服务器端可以简单理解为一个消息中转站 ...
- svn迁移
一. VisualSVN服务器迁移 场景:把A服务器备份到B服务器 方法: 1.拷贝A上Repositories文件夹到B上 2.打开B上VisualSVN Server Manager ...
- trade 主要前端组件
jQuery Custombox http://www.jqueryfuns.com/resource/view/27
- 正则PerlRegEx实现的批量替换指定文件中的标签
示例: 一个朋友需要而编写的标签升级更新. 速度超快,1w个文件大概4,5秒,本想加个多线程显示进度,后来想想算了 主要代码: reg.RegEx := '<' + Edit_regular1. ...