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 》读书笔记(五)的更多相关文章

  1. JAVA编程思想读书笔记(五)--多线程

    接上篇JAVA编程思想读书笔记(四)--对象的克隆 No1: daemon Thread(守护线程) 参考http://blog.csdn.net/pony_maggie/article/detail ...

  2. JAVA编程思想读书笔记(四)--对象的克隆

    接上篇JAVA编程思想读书笔记(三)--RTTI No1: 类的克隆 public class MyObject implements Cloneable { int i; public MyObje ...

  3. JAVA编程思想读书笔记(三)--RTTI

    接上篇JAVA编程思想读书笔记(二) 第十一章 运行期类型判定 No1: 对于作为程序一部分的每个类,它们都有一个Class对象.换言之,每次写一个新类时,同时也会创建一个Class对象(更恰当的说, ...

  4. JAVA编程思想读书笔记(二)--容器

    接上篇JAVA编程思想读书笔记(一) 第八章.对象的容纳 No1: java提供了四种类型的集合类:Vector(矢量).BitSet(位集).Stack(堆栈).Hashtable(散列表) No2 ...

  5. Java编程思想读书笔记之内部类

    现在是够懒得了,放假的时候就想把这篇笔记写出来,一直拖到现在,最近在读<Java编程思想>,我想会做不止这一篇笔记,因为之前面试的时候总会问道一些内部类的问题,那这本书的笔记就从内部类开始 ...

  6. Java编程思想读书笔记(一)【对象导论】

    2018年1月7日15:45:58 前言 作为学习Java语言的经典之作<Java编程思想>,常常被人提起.虽然这本书出版十年有余,但是内容还是很给力的.很多人说这本书不是很适合初学者,我 ...

  7. Java编程思想读书笔记(二)【一切都是对象】

    begin 2018年1月9日17:06:47 第二章 一切都是对象 Java语言假设我们只进行面向对象的程序设计. 2.1 用引用操纵对象 每种编程语言都有自己的操纵内存元素的方式 操纵内存元素的方 ...

  8. <Java编程思想>读书笔记(1)-对象导论、一切都是对象

    1.面向对象编程:OOP (Object-oriented Programming) 2.Alan Kay 总结的面向对象语言5个基本特性: 1) 万物皆为对象 2) 程序是对象的集合,他们通过发送消 ...

  9. Java编程思想读书笔记

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  10. Java编程思想读书笔记--第14章类型信息

    7.动态代理 代理是基本的设计模式之一,它是你为了提供额外的或不同的操作,而插入的用来代替“实际”对象的对象.这些操作通常涉及与“实际”对象的通信,因此代理通常充当着中间人的角色. 什么是代理模式? ...

随机推荐

  1. 【ASP.NET】DataContract序列化,反序列化对象中包含用接口声明的属性时的处理方法

    为此对象添加KnownType属性(Attribute).类型为用接口声明的属性(Property)的所有可能类型.  示例如下: public interface IKey { [DataMembe ...

  2. javascript之面向对象程序设计(对象和继承)

    总结的文章略长,慎点. 知识点预热 引用类型:引用类型的值(对象)是引用类型的一个实例.在ECMAScript中,引用类型是一种数据结构,用于将数据和功能组织在一起.在其他面向对象语言中被称为类,虽然 ...

  3. for循环,你深刻理解了吗?

    前几天,有一个面试机会,去看了看,遇到一个认为不错的面试题!   过了几天看到csdn上说华为的一道面试题,看了下和我遇到的很相似!   我分享出来希望大家有帮助!   你真的深刻理解for循环了吗? ...

  4. 会场安排问题—NYOJ14

    时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工作就是安排学校 ...

  5. 判断Featureclass的类型

    一个Featureclass可以是Shapefile Feature Class.Personal Geodatabase Feature Class.File Geodatabase Feature ...

  6. Silverlight动画的基本知识、关键帧动画

    基础知识 (一)动画:是快速播放一系列图像(其中每个图像与下一个图像略微不同)给人造成的一种幻觉 (二)动画类型:两类    (1)From/To/By动画:在起始值和结束值之间进行动画处理.     ...

  7. jquery 在页面中三种写法

    jQuery 分 2 个系列版本 1.x 与 2.x,主要的区别在于 2.x 不再兼容 IE6.7.8浏览器,这样做的目的是为了兼容移动端开发.由于减少了一些代码,使得该版本比 jQuery 1.x ...

  8. Berkeley DB分布式探索

    明天回家就没有网络,今晚就将整个编写过程记录下来.顺带整理思路以解决未能解决的问题. 标题有点托大,想将Berkeley DB做成分布式存储,感觉很高端的样子,实际上就是通过ssh将Berkeley ...

  9. JAVA四种线程池实例

    1.new Thread的弊端 执行一个异步任务你还只是如下new Thread吗?   Java   1 2 3 4 5 6 7 new Thread(new Runnable() {        ...

  10. smarty安装及例子

    环境: smarty3.1.16 1.在http://www.smarty.net/download下载最新smarty包,window选择zips,linux下选择tar.gz.以windows为例 ...