JAVA简明摘要(十七)发布程序(包、jar存档文件和部署)

1 部署应用程序

1.本机
整个程序都在用户的计算机上以独立、可携的GUI执行,并以可执行的Jar来部署。
Executable Jar

2.两者之间的组合
应用程序被分散成在用户本地系统运行的客户端,连接到执行应用程序服务的服务器部分。
Web Start
RMI app

3.远程
整个应用程序都在服务器端执行,客户端通过非Java形式,可能是浏览器的装置来存取。

2 组织类

1.将源代码与类文件分离
把源代码存在source目录下,类输出存在classes目录下。

javac -d ../classes MyApp.java

2.把程序包进JAR
JAR就是Java ARchive。是个pkzip格式的文件。
(1)确定所有类文件都在classes目录下
(2)创建mainfest.txt来描述哪个类带有main()方法

Main-Class: MyApp

此行后面要有换行,不然可能会出错
(3)执行jar工具来创建带有所有类以及manifest的JAR文件

cd MiniProject/classes
%jar -cvmf manifest.txt app1.jar *.classes
或
%jar -cvmf manifest.txt app1.jar MyApp.classes

3.执行JAR

cd MyProject/classes
java -jar app1.jar

3 把类包进包中

用包防止类名称的冲突

防止包命名冲突

sun公司的建议是加上你的域的反向名称。
com.headfirstjava.projects.Chart
类名称的第一个字母要大写

1.选择包名称
包名称com.headfirstjava
类名称PackageExercise
完整名称com.headfirstjava.PackageExercise

2.在类中加入包指令
必须是程序源文件的第一个语句

package com.headfirstjava

3.设定相对应的目录结构
需要把PackageExercise源文件放在headfirstjava目录下
把headfirstjava放在com目录下

编译与执行包

加上-d(directory)选项来编译
只用建立源文件目录的包结构,加上-d会自动建立类文件目录的结构

//编译
cd MyProject/source
javac -d ../classes com/headfirstjava/BeatBox.java
或
javac -d ../classes com/headfirstjava/*.java

//执行
cd ../classes/
java com.headfirstjava.BeatBox

以包创建可执行的JAR

包的第一层必须是JAR的第一层目录
1.创建manifest.txt来描述哪个类带有main(),放在classes目录下。

Main-Class: com.headfirstjava.BeatBox

2.执行jar工具来创建带有目录结构与manifest的JAR文件
只需指定com就行。

cd ../classes/
jar -cvmf manifest.txt packEx.jar com

META-INF代表META Information。

4 Java Web Start

用户能够通过点击网页上某个连接来启动Java Web Start(JWS)应用程序。
一旦程序被下载之后,它就能独立于浏览器之外来运行。

Java Web Start的工作方式

1.客户端点击某个网页上JWS应用程序的链接。

<a href="MyApp.jnlp">Click</a>

2.Web服务器收到请求发出jnlp文件给客户端的浏览器。
3.浏览器启动Java Web Start helper app读取jnlp文件,然后向服务器请求MyApp.jar。
4.Web服务器发送jar文件
5.JWS取得JAR并调用main()来启动应用程序。

创建与部署Java Web Start的步骤

1.将程序制作成可执行的JAR
2.编写jnlp文件
3.把jnlp与JAR文件放在Web服务器
4.对Web服务器设定新的mime类型
application/x-java-jnlp-file
5.设定网页连接到jnlp文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值