《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.动态代理 代理是基本的设计模式之一,它是你为了提供额外的或不同的操作,而插入的用来代替“实际”对象的对象.这些操作通常涉及与“实际”对象的通信,因此代理通常充当着中间人的角色. 什么是代理模式? ...
随机推荐
- [javascript|基本概念|Object]学习笔记
对象:数据和功能的集合 创建对象:new 对象类型名称 e.g.: var o = new Object(); 或 var o = new Object(省略(),不推荐) 或 var o = {}( ...
- web前端的十种jquery特效及源码下载
1.纯CSS3实现自定义Tooltip边框 涂鸦风格 这是一款用纯CSS3打造的自定义Tooltip边框的应用,之前我们讨论过如何用CSS3来实现不同样式的Tooltip,今天的这款Tooltip却可 ...
- Windows 命令大全
打开控制面板的方法:输入control,回车即可打开. 以下是“运行”里常见的命令: gpedit.msc-----组策略 sndrec32-------录音机 Nslookup-------IP地址 ...
- 从malloc中窥探Linux内存分配策略
malloc函数是C/C++中常用内存分配库函数,本篇文章将以Linux平台上的malloc为剖析对象,深入了解分配一块内存的旅程. malloc入门 使用malloc,需要包含头文 ...
- PHP利用socket_bind函数切换IP地址采集数据
在利用PHP进行数据采集的过程中,通常会遇到IP被屏蔽或出现验证码的情况:为了能够继续采集,我们需要切换不同的ip,每访问一次,随机切换一个IP.当然也可以通过收集大量代理,通过切换代理的方式进行采集 ...
- Translation001——android
请尊重原创,转载请注明出处: Author:KillerLegend Link:http://www.cnblogs.com/killerlegend/ BEGIN****************** ...
- RichTextBox 自动滚动到最后
RichTextBox.AppendText($"[{DateTime.Now.ToString("hh:mm:ss")}] {msg}\n"); RichTe ...
- How to using x++ creating Vendors [AX2012]
.//Create party for the vendor public void createParty(VendorRequestCreate _vendorRequestCreate) { ; ...
- 每日一“酷”之Queue
Queue—线程安全的FIFO实现 作用:提供一个线程安全的FIFO实现 Queue模块提供了一个适用于多线程编程的先进先出(first-in,first-out)数据结构,可以用来在生产者和消费者线 ...
- Mac下运行ASP.NET Core应用程序
Mac下运行ASP.NET Core应用程序 在Mac下运行ASP.NET Core应用程序 通过参照.NET Core相关官方文档,在我的Mac电脑上用Visual Studio Code创建了我的 ...