《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后面的东西目前没涉及到,没有继续读下去)
最新文章
- js构建ui的统一异常处理方案(三)
- RDS MySQL 空间问题的原因和解决
- hdu 2255 奔小康赚大钱 最大权匹配KM
- ByteBuffer用法小结
- 焦点轮播图——myfocus焦点图库
- C#基础(二)——C#中的构造函数
- [XML] C#XMLProcess操作Xml文档的帮助类 (转载)
- 掌握jQuery插件开发,这篇文章就够了
- #include <;boost/asio.hpp>;
- Jquery 方法大全
- 利用 操作符特性 代替if判断语句
- NPOI 2.0 Excel读取显示
- 当发现你的OpenStack虚拟机网络有问题,不妨先试一下这16个步骤
- centOS7安装nodejs(8.4.0)(详细步骤)
- Java多线程10:join()方法
- C++标准模板库(STL)之String
- Vue 给对象添加属性
- web容器 web服务器 servlet/jsp容器 之间的区别和关系
- 使用pipeline减少与redis交互次数
- 全排列问题(c语言实现)
热门文章
- Python中lambda表达式学习
- Base Pattern基本模式_Gateway入口
- 素数个数统计——Eratosthenes筛法 [LeetCode 204]
- 解决Eclipse中Java工程间循环引用而报错的问题
- ProgressIndicator显示进度条以及一些文字信息
- 【风马一族_Android】造作app的效果图
- 《samba服务搭建》RHEL6
- “==”,比较的是引用 “equals方法”比较的是具体内容
- iOS屏幕尺寸和分辨率
- JQ中的html()、text()、val()的用法