Head First Java学习笔记(17):包、jar存档文件和部署

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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值