Java的部署
Java程序是由一组类所组成的,那就是开发过程的输出。
部署的选择:
1.本机:整个程序都在用户的计算机上以独立、可携的GUI执行,并以可执行的Jar来部署。
2.两种之间的组合:应用程序被分散为在用户本地系统运行的客户端,以及连接到执行应用程序服务的服务器部分。
3.远程:整个应用程序都在服务器端执行,客户端通过非Java形式,可能是浏览器的装置来存取。
组织类
1.组织类就是讲源文件与类文件分离。
2.编译时加上“-d”选项,可以指定编译过的程序要摆在哪里。
1.编译
%cd MyProject/source
%javac -d ../classes MyApp.java
2.编译全部的.java文件
%javac -d ../classes *.java
3.执行程序
%cd MyProject/classes
%java MyApp
目录层次:
JAR
1.JAR就是JavaARchive,这是一个pkzip格式的文件,它把一组类文件包装起来。所以交付时只需要一个JAR文件。
2.全大写的JAR是说包装起来的文件,全小写的jar是用来整理文件的工具。
3.想要创建出可执行的JAR,需要创建出manifest文件。
创建可执行的JAR:
1.确定所有的类文件都在classes目录下。
2.创建manifest.txt来描述哪个类带有main()方法。该文件内容如下:
Main-Class:
MyApp//后面没有.class
3.执行jar工具来创建带有所有类以及manifest的JAR文件。
%cd MiniProject/classes
%jar -cvmf manifest.txt app1.jar *.class
或者
%jar -cvmf manifest.txt app1.jar MyApp.class
关于-cvmf:
-c:创建新的归档文件
-v:在标准输出中生成详细输出
-m:包含指定manifest文件
-f:指定归档文件名
执行JAR:
1.有些系统直接双击就可以,如Windows和Mac OS X。
2.
%cd MyProject/classes
%java -jar app1.jar
包
包可以防止命名冲突,但这只会在包名称保证不会重复的情况下起作用。最好的方法是在前面加上domain名称。
把类包进包中:
1.选择包名称
2.在类中加入包指令。这条指令必须比import还要靠上
package com.headfirstjava;
import javax.swing.*;
public class PackageExercise {
}
3.设定相对应的目录结构:你必须把类放在与包层次结构相对应的目录结构下
编译与执行包:
1.加上-d来编译:
%cd MyProject/source
%javac -d ../classes com/headfi rstjava/PackageExercise.java
2.执行程序:
%cd MyProject/classes
%java com.headfi rstjava.PackageExercise
3.如果classes目录下包的目录结构没有建好,-d会帮你建好。
包创建JAR:
1.确定所有类文件都在classes目录下对应的包结构中。
2.创建manifest.txt文件来描述哪个类带有main()。
Main-Class:
com.headfi rstjava.PackageExercise
3.执行jar工具
%cd MyProject/classes
%jar -cvmf manifest.txt packEx.jar com
manifest文件:
1.将JAR内容列出:% jar -tf packEx.jar
2.解压:% cd Skyler
% jar -xf packEx.jar
jar会自动创建META-INF目录和MANIFEST.MF文件。
Java Web Start
用户通过单击Web页面中的链接来启动Java Web Start应用程序。一旦应用程序下载,它就会在浏览器之外运行,就像其他独立的Java应用程序一样。实际上,Java Web Start应用程序只是一个在Web上分发的可执行JAR。
Java Web Start 工作方式:
1.客户端单击Web页面的JWS应用程序链接(.jnlp文件)。
2.Web服务器(HTTP)获取请求并返回一个.jnlp文件(不是JAR)。
3.Java Web Start由浏览器启动,JWS助手应用程序读取.jnlp文件,并向服务器请求MyApp.jar文件。
4.Web服务器发送请求的. jar文件。
5.Java Web Start获取JAR并通过调用指定的main()方法启动应用程序(就像可执行的JAR一样)。
.jnlp文件:
<?xml version=”1.0” encoding=”utf-8”?>
<jnlp spec=”0.2 1.0”
codebase=”http://127.0.0.1/~kathy”
href=”MyApp.jnlp”>
<information>
<title>kathy App</title>
<vendor>Wickedly Smart</vendor>
<homepage href=”index.html”/>
<description>Head First WebStart demo</description>
<icon href=”kathys.gif”/>
<offline-allowed/>
</information>
<resources>
<j2se version=”1.3+”/>
<jar href=”MyApp.jar”/>
</resources>
<application-desc main-class=”HelloWebStart”/>
</jnlp>
创建与部署Java Web Start的步骤:
1.将程序制作成可执行的JAR。
2.编写.jnlp文件。
3.把.jnlp与JAR文件放到Web服务器。
4.对Web服务器设定新的mime类型。
application/x-java-jnlp-file
5.设定网页连接到.jnlp文件。
<HTML>
<BODY>
<a href=”MyApp2.jnlp”>Launch My Application</a>
</BODY>
</HTML>