win7正版软件价格-甜椒刷机助手
2023年4月1日发(作者:极点五笔下载)
-1-
JDK的安装及使用方法详细说明
一、JDK基本开发工具简介
JDK(JavaDeveloper'sKit,Java开发者工具包),也称J2SDK(Java2Software
DevelopmentKit),是SUN公司提供的一个开源、免费的Java开发工具。JDK
包含了Java程序的编译、解释执行工具以及Java运行环境(即JRE)。作为基本
开发工具,JDK也是其它Java开发工具的基础,也就是说,在安装其它开发工
具和集成开发环境以前,必须首先安装JDK。
初学者使用JDK,可以在学习的初期把精力集中在Java语言语法的学习上,
能够体会到更底层、更基础的知识,对于以后的程序开发很有帮助。
但是JDK没有提供Java源代码的编辑环境,这个是SUN提供的很多基础
开发工具的通病,所以还需要在某种文本编辑器(比如:记事本、EditPlus、
UltraEdit等)中编写Java源代码。其实大部分程序设计语言的源代码都是一个
文本文件,只是存储成了不同的后缀名而已。Java源代码程序文件的后缀是.java
的文本文件。对于初学者来讲,仅使用“记事本+JDK”就可以完成Java程序的
编辑、编译、解释及执行等功能。
Java发展到现在,按应用来进行分类,可分为三大块:J2SE、J2ME和J2EE。
这三块相互补充,应用范围不同。
●J2SE就是Java2的标准版,主要用于桌面应用软件的编程,从JDK1.1.8
版本以后改成J2SE。初学者应从J2SE开始学习。本文关于软件的下载、安装和
配置,以及教学授课内容的介绍也都是基于J2SE平台的。
●J2ME就是Java2微型嵌入式版,主要应用于嵌入式系统的开发,如:
手机、PDA、家电的编程等。可以说,这是一个很有前途的研究和工作方向。
●J2EE是Java2的企业版,全称为Java2PlatformEnterpriseEdition。J2EE
主要用于分布式的网络程序的开发,如:电子商务网站和ERP系统等。J2EE平
台本质上是一个分布式的服务器应用程序设计环境,用来建设大型的分布式企业
级应用程序,或者用更时髦的名词说就是“电子商务”应用程序。这些企业可能
-2-
大到拥有中心数据库服务器,Web服务器集群和遍布全国的办公终端,也可能小
到只不过想做一个网站。J2EE在这一市场目前只有一种技术可以和J2EE竞争,
那就是Microsoft的.NET。相对来说.NET要“新”一些,而J2EE要“老”一些。
但是.NET只能用于Windows平台(Microsoft声称要开发C#在Linux上的虚拟
机,但是尚未兑现该诺言)。
到目前为止,SUN公司发布了很多版本的JDK,具体情况如表1-1所示。
表1-1JDK的版本及代号
版本号名称中文名发布日期
已
发
行
的
版
本
JDK1.1.4Sparkler
宝石
1997-09-12
JDK1.1.5Pumpkin
南瓜
1997-12-13
JDK1.1.6Abigail
阿比盖尔--女子名
1998-04-24
JDK1.1.7Brutus
布鲁图--古罗马
政治家和将军
1998-09-28
JDK1.1.8Chelsea
切尔西--城市名
1999-04-08
J2SE1.2Playground
运动场
1998-12-04
J2SE1.2.1none
无
1999-03-30
J2SE1.2.2Cricket
蟋蟀
1999-07-08
J2SE1.3Kestrel
美洲红隼
2000-05-08
J2SE1.3.1Ladybird
瓢虫
2001-05-17
J2SE1.4.0Merlin
灰背隼
2002-02-13
J2SE1.4.1grasshopper
蚱蜢
2002-09-16
J2SE1.4.2Mantis
螳螂
2003-06-26
近
期
发
行
J2SE5.0(1.5.0)Tiger
老虎已发布
J2SE5.1(1.5.1)Dragonfly
蜻蜓未发布
J2SE6.0(1.6.0)Mustang
野马已发布
J2SE7.0(1.7.0)Dolphin
海豚未发布
从JDK1.2.2开始,主要版本(如1.3、1.4、5.0)都是以鸟类或哺乳动物来
命名的。而它们的bug修正版本(如1.2.2、1.3.1、1.4.2)都是以昆虫命名的。
小知识:
-3-
●SDK(SoftwareDevelopKit,软件开发工具包)
SDK用于帮助开发人员提高工作效率,各种不同类型的软件开发,都可以
有自己的SDK,例如:Windows有WindowsSDK、DirectX有DirectX9SDK、.NET
开发也有meworkSDK、JAVA开发也不含糊,也有自己的Java
SDK。因此,SDK就是泛指很多类型软件的开发包,可以说JDK也是一种SDK。
/products/
●JDK
JDK是一切java应用程序的基础,所有的java应用程序是构建在这个之上
的。它是一组API,也可以说是一些javaClass。JavaSDK最早叫JavaSoftware
DevelopKit,后来改名为JDK,即JavaDevelopKit。JDK作为Java开发工具包,
主要用于构建在Java平台上运行的应用程序、Applet和组件等。现在Sun公司
已经将JDK都改为叫JSDK了。
●JRE(JavaRuntimeEnvironment,Java运行环境)
JRE也就是Java平台。所有的Java程序都要在JRE下才能运行。JDK的工
具也是Java程序,也需要JRE才能运行。为了保持JDK的独立性和完整性,在
JDK的安装过程中,JRE也是安装的一部分。所以,在JDK的安装目录下有一
个名为jre的目录,用于存放JRE文件。
提示:如果你只需要运行已编译好的Java程序,则可以只安装JRE,而不
必安装JDK。如果你希望还要能够编译Java,则必须要安装JDK。
●JVM(JavaVirtualMachine,Java虚拟机)
①什么是Java虚拟机?
JVM是JRE的一部分。它是一个虚构出来的计算机,是通过在真实的计算
机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理
器、堆栈、寄存器等,还具有相应的指令系统。
所以,JAVA虚拟机JVM是属于JRE的,而现在我们安装JDK时也附带安
装了JRE(当然也可以单独安装JRE)。有时,我们也可以简单地把Java运行环
-4-
境(JRE)和Java虚拟机(JVM)看成是一个概念。
②为什么要使用Java虚拟机?
Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持与操作系
统无关,实现跨平台,使得Java程序在任何系统中都能够运行。
③Java虚拟机的基本原理是什么?
Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java语言编译程
序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不
加修改地运行。Java虚拟机在执行字节码时,实际上最终还是把字节码解释成具
体平台上的机器指令执行。
小知识:
常见的虚拟机软件有Java虚拟机、PC虚拟机等,但Java虚拟机和PC虚拟
机的含义和作用不同:
●如前所述,Java虚拟机就是构造出来的是一个能够运行Java程序的仿真
环境。常见的Java虚拟机提供商包括:Sun公司、微软公司等。
●而PC虚拟机的含义是指制造了一个“虚拟”的计算机,能够支持现有
的各种PC平台的操作系统和应用软件,常见的虚拟机软件包括VMWare、
VirtualPC等。
-5-
二、JDK的获得、安装和配置
的获得
如果需要获得最新版本的JDK,可以到SUN公司的官方网站上进行下载,
网址:,如图2-1所示。
图2-1SUN公司官方网站首页
在图2-1所示的页面中,选择“Donwloads”下的“JavaSE”超链接可进入
“Java标准版”的下载页面。另外,你也可以直接在浏览器窗口(比如IE)的
地址栏中输入/javase/downloads/,进入“Java标准版”
的下载页面。如图2-2所示。
当然,你也可以在图2-1中进入SUN公司的其他产品的下载页面,比如:
NetBeans(一个相当不错的、免费的Java集成开发环境)、J2SE、J2EE等。
-6-
图2-2JavaSE下载页面
在图2-2中,建议下载“JDK6Update7”,当然也可以下载“JavaSE6Update
10Beta”。假设下载“JDK6Update7”,将进入图2-3所示页面。
图2-3JDK6Update7下载页面
在图2-3中,选择“Platform(平台)”及“Language(语言)”。JDK支持多
-7-
种平台,如:Linux、Solaris、Windows,如果你使用32位的Windows操作系统,
则选择“Windows”;如果你使用64位的Windows操作系统,则选择“Windows
x64”。而“Language”则选择“Multi-language(多语言)”。单击“Continue”按
钮之后,将进入图2-4所示的页面。
图2-4JDK6Update7文件下载选择页面
在下载Windows版本时,有两个版本可供下载,分别是:
●WindowsOfflineInstallation
离线安装版本,每次安装时直接进行本地安装。通常情况下,一般下载离线
安装版本。请勾选“WindowsOfflineInstallation”左侧的复选框,然后单击
“”即可下载JavaSE版的JDK6Update7。
●WindowsOnlineInstallation
在线安装版本,每次安装时都从网络上下载安装程序,在下载完成以后,进
行实际的安装。不建议选择此项。
-8-
的安装
安装程序是一个可执行程序,直接双击安装即
可,在安装过程中可以选择安装路径以及安装的组件等。建议不要把JDK的安
装路径放在Windows操作系统所在分区内。
假设安装路径为:D:ProgramfilesJava,如图2-5所示,在“Java”文件夹
内,有2个子文件夹:jdk1.6.0_07和jre1.6.0_07。其中,前者是JDK的各种程
序及类库等所在的文件夹;而后者是Java运行环境(JavaRuntimeEnvironment,
JRE)。
图2-5JDK安装路径
子文件夹“jdk1.6.0_07”自身所包含的文件和子文件夹内容如图2-6所示。
后面将要介绍的JDK的配置问题都是针对该子文件夹而言的,因此一定要准确
描述它的路径,即:“D:ProgramfilesJavajdk1.6.0_07”。一个比较好的方法是:
在图2-6所示界面的“地址栏”中将该路径复制下来。
-9-
图2-6子文件夹“jdk1.6.0_07”所包含的内容
子文件夹“jdk1.6.0_07”所包含的内容说明:
●文件夹bin:包含了一些Java本地实用工具,比如、等。
●文件夹demo:包含了Java平台的一些示例程序和源码,用于展示如何
编写Java程序。
●文件夹demoapplets:Applet的例子和源码。
●文件夹demojfc:使用Java2DTM和JFCSwing的例子及源码。
●文件夹demojpda:一些使用Java调试体系的源码和javadt、jdb工具。
●文件夹demoplugin:一些JavaPlug-in产品。
●文件夹docs:包含了关于JavaAPI的HTML文档。可以在其它的开发工
具(如UltraEdit、EditPlus等)中配置该文件夹路径,以便于在其它工具中查阅
Java文档。注意:在安装JDK后,可能没有此文件夹,你可以自行到SUN公司
下载。所下载的Java文档是个压缩包,对其进行解压缩后就可得到docs文件夹,
最后将docs文件拷贝到此处即可。
●文件夹include:使用Java本地接口和JVM(Java虚拟机)调试接口的
本地代码的C语言的头文件。
-10-
●文件夹jre:开发环境的jre,可以设置server参数。
●文件夹lib:开发工具使用的文件(和库),包括、等等。
●文件夹sample:目前还没有发现有什么用处,也没有研究出来。
●根目录下的一些文件:文件是java2平台的源代码,而其它文件
则是一些自述文件、版权、LICENSE文件等。
课外知识:两个JRE的区别。
安装JDK后,在安装路径下有两套JRE,一套位于“..javajdk1.6.0_07jre”,
另外一套位于“..Javajre1.6.0_07”目录下,后面这套比前面那套少了Server端
的Java虚拟机,不过直接将前面那套的Server端Java虚拟机复制过来就行了。
而且在安装JDK时,可以选择是否安装这个位于..Java目录下的JRE。如果
你只安装JRE,而不是JDK,那么只会在..Java目录下安装唯一的一套JRE(供
浏览器来使用)。
对于这两套JRE,可以这样简单的理解:前面那套JRE(..javajdk1.6.0_07jre)
是用来运行Java本身的程序的,比如:、等;而后面那套JRE
(..javajre1.6.0_07)是用来运行一般的Java程序的,一般都是用户所编写的程
序。
JRE的地位就象一台PC机一样,我们写好的Win32应用程序需要操作系统
帮我们运行,同样的,我们编写的Java程序也必须要JRE才能运行。所以当你
装完JDK后,如果分别在硬盘上的两个不同地方安装了两套JRE,那么你可以
想象你的电脑有两台虚拟的JavaPC机,都具有运行Java程序的功能。所以我们
可以说,只要你的电脑安装了JRE,就可以正确运行Java应用程序。
●为什么Sun要让JDK安装两套相同的JRE?这是因为JDK里面有很多
用Java所编写的开发工具(如、等),而且都被放置在
“..javajdk1.6.0_”文件中。
从下面例子可以看出,先将改名为,然后运行,
显示如下结果:“Exceptioninthread"main"sDefFoundError:
com/sun/tools/javac/Main”。这个意思是说,你输入与输入java-cp
D:ProgramfilesJavajdk1.6.0_是一样的,
会得到相同的结果。从这里我们可以证明只是一个包装器(Wrapper),
-11-
而制作的目的是为了让开发者免于输入太长的指令。而且可以发现lib目录下的
程序都很小,不大于29K,从这里我们可以得出一个结论。就是JDK里的工具
几乎是用Java所编写,所以也是Java应用程序,因此要使用JDK所附的工具来
开发Java程序,也必须要自行附一套JRE才行,所以位于“D:Program
FilesJavajre1.6.0_07”目录下的那套JRE就是用来运行一般的Java程序用的。
●如果一台电脑安装两套以上的JRE,谁来决定呢?这个重大任务就落在
身上。的工作就是找到合适的JRE来运行Java程序。
依照下面的顺序来查找JRE:自己的目录下有没有JRE;父目录有没有JRE;查
询注册表:[HKEY_LOCAL_MACHINESOFTWAREJavaSoftJavaRuntime
Environment]所以的运行结果与你的电脑里面哪个JRE被执行有很大的
关系。
●介绍JVMJRE目录下的Bin目录有两个目录:server与client。这就是真
正的所在。无法单独工作,当启动后,会使用explicit的
方法(就是使用Win32API之中的LoadLibrary()与GetProcAddress()来载入辅助
用的动态链接库),而这些辅助用的动态链接库(.dll)都必须位于所在
目录的父目录之中。因此想使用哪个JVM,只需要设置PATH,指向JRE所在目
录底下的。
的配置
JDK安装完成以后,不做设置就可以直接使用,但为了使用方便,一般需要
进行简单的配置,主要是在Windows操作系统中配置Java的系统环境变量。
由于JDK提供的编译和运行工具都是基于命令行的,所以需要进行DOS方
面的设置,也就是要把JDK安装目录下bin目录中的可执行文件都添加到DOS
的外部命令中,这样就可以在任意路径下直接使用bin目录下的exe程序了。
配置过程可简要描述如下:
在“我的电脑”右键菜单中→选择“属性”→选择“高级”选项卡→单击“环
境变量”按钮→在“系统变量”区域,先后分别新建“Path_home”变量、编辑
修改“Path”变量、新建“Classpath”变量。
-12-
配置的具体步骤如下:
(1)在“我的电脑”右键菜单中,选择“属性”进入“系统属性”对话框,
如图2-7所示。当然也可以采用下面的方式进入该对话框:
●如果WindowsXP的控制面板的设置是“经典视图”方式,那么请选择
“我的电脑”→“控制面板”→“系统”。
●如果WindowsXP的控制面板的设置是“分类视图”方式,那么请选择
“我的电脑”→“控制面板”→“性能和维护”→“系统”。
图2-7“系统属性”对话框
(2)在图2-7所示的“系统属性”窗口中,选择“高级”选项卡,如图2-8
所示。
-13-
图2-8“系统属性”对话框之“高级”选项卡
(3)在图2-8中单击“环境变量”变量按钮,进入“环境变量”窗口,如图
2-9所示。然后在“环境变量”窗口的“系统变量”区域按照如下方法配置系统
环境变量。
前提条件:假设JDK的安装路径是“D:ProgramfilesJavajdk1.6.0_07”。
●新建系统变量“Java_home”,设置其变量值为“;D:Program
filesJavajdk1.6.0_07bin;”。如图2-10所示。
●编辑系统变量“Path”,该变量的用途是使得系统能够查找到可执行程序
所在的路径。为方便使用Java命令行的程序,需要把JDK安装路径中bin目录
的路径信息,添加到Path变量值中,添加的值为“;%Java_home%bin;”。如图
2-11所示。注意:不要将“Path”原有的变量值删除。
●新建系统变量“Classpath”,设置其变量值为“.;%Java_home%lib;”。如
图2-12所示。
-14-
注:上述的双引号都不添加;分号是变量值分隔符,应为英文分号(半角)。
图2-9“环境变量”窗口
图2-10新建“Java_home”环境变量
图2-11编辑“Path”环境变量
-15-
图2-12新建“Classpath”环境变量
配置完成以后,可以使用如下方法来测试配置是否成功:
(1)选择“开始”→“运行”,输入“CMD”后按确定,或者选择“开始”
→“所有程序”→“附件”→“命令提示符”。
(2)在“命令提示符”窗口中,输入javac,按回车执行。
●如果输出的内容是使用说明,则说明配置成功。
●如果输出的内容是“’javac’不是内部或外部命令,也不是可执行的程
序或批处理文件。”,则说明配置错误,需要重新进行配置。
常见的配置错误主要有:一是路径错误;二是分号分隔符错误(如:错误的
将分号打字成了冒号或使用了全角的分号)。
-16-
三、JDK的使用方法
Java程序有二种:JavaApplication和JavaApplet。前者是Java应用程序;
而后者是Java小程序,Applet程序可在网页中浏览。
下面分别简单介绍如何利用JDK开发一个Java程序和Applet。同时,使用
“记事本+JDK”模式完成Java源代码的编写、编译和解释执行。
准备工作:在某个硬盘分区内,新建立一个文件夹,比如:以我的姓名缩写
在D盘建立一个名为“JCD”的文件夹。该文件夹用于保存后缀为.java的Java
源代码文件和后缀为.class的Java字节码程序。
1.开发JavaApplication
第1步:编辑Java源代码文件
打开Windows操作系统的“记事本”程序,并编写如图3-1所示的Java源
代码。
图3-1编辑Java源代码
上述代码编写完毕后,选择“文件”→“另存为”命令,将该源代码保存到
D盘的JCD文件夹中。所保存的文件名必须为“Beijing_”,要注意
英文字母的大小写。在该程序中,源程序文件名必须与公共类名相同。
第2步:编译源代码文件Beijing_
单击“开始”→“运行”,输入“CMD”命令并按“确定”按钮后,将进入
-17-
“命令提示符”窗口。然后,先后分别输入图3-2所示的命令。
图3-2编译Java程序
在图3-2中,从上到下有3条DOS命令,说明如下:
●“d:”将当前所在的路径转到D盘。
●“cdjcd”进入到D盘内的JCD文件夹中。
●“javacBeijing_”编译源代码文件Beijing_,以
得到Java字节码程序Beijing_。如果出现图3-2所示的最后一行的
状态,说明已经编译成功;否则将会报错,并指出错误原因。
此时,我们可以使用DOS命令查看字节码程序Beijing_,方法
是在图3-2中继续输入如下DOS命令:“dirBeijing_”。
第3步:运行Java解释程序执行字节码程序Beijing_
输入命令:javaBeijing_Olympic,如图3-3所示。注:Beijing_
的后缀.class不必输入。
-18-
图3-3运行Java程序
2.开发JavaApplet
第1步:使用“记事本”建立源文件。如图3-4所示。
图3-4建立JavaApplet源文件
-19-
第2步:编译源代码文件。在“命令提示符”窗口中输入“”。
第3步:编辑网页文件。对于Applet小程序,不能使用
解释程序来运行,而只能将它对应的.class字节码文件嵌入在HTML文档中运行。
如图3-5所示。提示:网页文件的名字可以与字节码文件名字不同。
图3-5编辑网页文件
第4步:运行。有两种运行方法:
●直接双击文件,在浏览器中运行。如图3-6所示。
●使用Java的Applet小程序查看器来运行。如图3-7和
图3-8所示。
图3-6在浏览器中运行Applet
-20-
图3-7使用小程序查看器
图3-8Applet小程序运行结果
-21-
四、附录
常用命令
请参见“DOS常见命令使用方法.doc”。
常用工具使用方法
安装JDK后,在安装路径的bin目录下有许多.exe可执行文件,它们的用途
是:
表4-1../Java/bin目录下的可执行文件的作用
可执行文件名称作用
Java编译器,将Java源代码转换成字节码。
Java解释器,直接从类文件执行Java应用程序代码。
小程序浏览器,即:一种用于执行HTML文件上的Java小
程序类的Java浏览器。
根据Java源代码及其说明语句生成的HTML文档。
Java调试器,可以逐行地执行程序、设置断点和检查变量。
产生可以调用Java过程的C过程,或建立能被Java程序调
用的C过程的头文件。
Java反汇编器,显示编译类文件中的可访问功能和数据,同
时显示字节代码含义。
多用途的存档及压缩工具,是个java应用程序,可将多个
文件合并为单个JAR归档文件。
命令转换工具。
将含有不是Unicode或Latinl字符的的文件转换为Unicode
编码字符的文件。
返回serialverUID。语法:serialver[show]命令选项show
是用来显示一个简单的界面。输入完整的类名按Enter键或
"显示"按钮,可显示serialverUID。
以下将详细介绍上述可执行程序的的用法及参数。
-22-
●
使用方法:javac<选项><源文件>
选项参数名称含义
-g
生成所有调试信息
-g:none
不生成任何调试信息
-g:{lines,vars,source}
只生成某些调试信息
-nowarn
不生成任何警告
-verbose
输出有关编译器正在执行的操作的消息
-deprecation
输出使用已过时的API的源位置
-classpath<路径>指定查找用户类文件和注释处理程序的位置
-cp<路径>指定查找用户类文件和注释处理程序的位置
-sourcepath<路径>指定查找输入源文件的位置
-bootclasspath<路径>覆盖引导类文件的位置
-extdirs<目录>覆盖安装的扩展目录的位置
-endorseddirs<目录>覆盖签名的标准路径的位置
-proc:{none,only}
控制是否执行注释处理和/或编译
-processor
要运行的注释处理程序的名称;绕过默认的搜
索进程
-processorpath<路径>指定查找注释处理程序的位置
-d<目录>指定存放生成的类文件的位置
-s<目录>指定存放生成的源文件的位置
-implicit:{none,class}
指定是否为隐式引用文件生成类文件
-encoding<编码>指定源文件使用的字符编码
-target<版本>生成指定虚拟机版本的类文件
-version
版本信息
-help
输出标准选项的提要
-Akey[=value]
传递给注释处理程序的选项
-X
输出非标准选项的提要
-J<标志>直接将<标志>传递给运行时系统
-23-
●
功能说明:运行.class字节码程序或者.jar文件。
使用方法及选项参数:如图4-1~图4-2所示。
图程序的使用方法及参数
图程序的使用方法及参数
-24-
●
功能说明:Javaapplet浏览器。appletviewer命令可在脱离万维网浏览器环
境的情况下运行applet。
使用方法:appletviewer
补充说明:appletviewer命令连接到url所指向的文档或资源上,并在其自身
的窗口中显示文档引用的每个applet。注意:如果url所指向的文档不引用任何
带有OBJECT、EMBED或APPLET标记的applet,那么appletviewer就不做任
何事情。
选项参数:
选项参数名称含义
-debug
在Java调试器jdb中启动appletviewer,使您可以调试
文档中的applet
-encoding<编码名称>指定由HTML文件使用的字符编码
-J[javaoption]
将javaoption字符串作为单个参数传给运行appletviewer
的Java解释器。参数不能含有空格。由多重参数组成的
字符串,其中的每个参数都必须以前缀-J开头,该前缀
以后将被除去。这在调整编译器的执行环境或内存使用
时将很有用。
●
功能说明:Java归档工具。
用法:
jar{ctxui}[vfm0Me][jar-file][manifest-file][entry-point][-Cdir]files...
jar[命令选项][manifest]destinationinput-file[input-files]
补充说明:jar工具是个java应用程序,可将多个文件合并为单个JAR归档
文件。jar是个多用途的存档及压缩工具,它基于ZIP和ZLIB压缩格式。然而,
设计jar的主要目的是便于将javaapplet或应用程序打包成单个归档文件。将
applet或应用程序的组件(.class文件、图像和声音)合并成单个归档文件时,可以
用java代理(如浏览器)在一次HTTP事务处理过程中对它们进行下载,而不是对
-25-
每个组件都要求一个新连接。这大大缩短了下载时间。jar还能压缩文件,从而
进一步提高了下载速度。此外,它允许applet的作者对文件中的各个项进行签名,
因而可认证其来源。jar工具的语法基本上与tar命令的语法相同。
命令选项:
选项参数名称含义
-c
在标准输出上创建新归档或空归档
-t
在标准输出上列出存档目录(内容表)。
-x[file]
解压缩已归档的指定(或所有)文件。即:从标准输入提取所
有文件,或只提取指定的文件。如果省略了file,则提取所有
文件;否则只提取指定文件。
-u
更新现有的归档文件。即:通过添加文件或更改清单来更新现
有的JAR文件。例如:“”将文件
添加到现有的JAR文件中,而“”
则用manifest中的信息更新的清单。
-v
在标准输出中生成详细输出
-f
指定归档文件名
-m
包含指定清单文件中的清单信息。用法举例:“jarcmf
myManifestFilemyJarFile*.class”
-e
为捆绑到可执行jar文件的独立应用程序指定应用程序入口点
-0
仅存储;不使用任何ZIP压缩
-M
不创建条目(项目)的清单(manifest〕文件
-i
为指定的jar文件生成索引信息
-C
改变为指定的目录并包含其中文件,如果有任何目录文件,则
对其进行递归处理。清单文件名、归档文件名和入口点名的指
定顺序与"m"、"f"和"e"标志的指定顺序相同。即:在执行jar
命令期间更改目录。例如:“-Cclasses*”将classes
目录内的所有文件加到中,但不添加类目录本身。
程序示例1:将两个类文件存档到一个名为的存档文件中。
-26-
程序示例2:使用现有的清单文件"mymanifest"并将foo/目录中的所有文件
归档到""中。
anifest-Cfoo/.
程序示例3:将当前目录下所有CLASS文件打包成新的JAR文件。
*.class
程序示例4:显示一个JAR文件中的文件列表。
程序示例5:将当前目录下的所有文件增加到一个已经存在的JAR文件中。
*
●
功能说明:JavaAPI文档生成器从Java源文件生成API文档HTML页。
使用方法:javadoc[选项][软件包名称][源文件名][@files]
其中,[软件包名称]为用空格分隔的一系列包的名字,包名不允许使用通配
符,如(*)。[源文件名]用空格分隔。
选项参数:
选项参数名称含义
-overview<文件>读取HTML格式的概述文档
-public
仅显示public类和成员
-protected
显示protected/public类和成员(缺省)
-package
显示package/protected/public类和成员
-private
显示所有类和成员
-help
显示命令行选项
-doclet<类>通过替代doclet生成输出
-docletpath<路径>指定doclet类文件的查找位置
-sourcepath<路径列表>指定源文件的查找位置
-classpath<路径列表>指定用户类文件的查找位置
-exclude<软件包列表>指定要排除的软件包的列表
-27-
-subpackages<子软件包列表>指定要递归装入的子软件包
-breakiterator
使用BreakIterator计算第1句
-bootclasspath<路径列表>覆盖自举类加载器所加载的类文件的位置
-source<版本>提供与指定版本的源兼容性
-extdirs<目录列表>覆盖已安装的扩展目录的位置
-verbose
输出有关Javadoc正在执行的操作的信息
-locale<名称>要使用的语言环境,例如en_US或en_US_WIN
-encoding<名称>源文件编码名称
-quiet
不显示状态消息
-J<标志>直接将<标志>直接传给运行时系统
由标准doclet提供:
选项参数名称含义
-d
输出文件的目标目录
-use
创建类和包的用法页面
-version
包含@version段
-author
包含@author段
-docfilessubdirs
递归复制文档文件子目录
-splitindex
将索引分为每个字母对应一个文件
-windowtitle
文档的浏览器窗口标题
-doctitle
包含概述页面的标题
-header
包含每个页面的页眉文本
-footer
包含每个页面的页脚文本
-bottom
包含每个页面的顶部文本
-bottom
包含每个页面的底部文本
-link
创建指向位于
-linkoffline
利用位于
-excludedocfilessubdir
排除具有给定名称的所有文档文件子目录
-group
在概述页面中,将指定的包分组
-nocomment
不生成描述和标记,只生成声明
-28-
-nodeprecated
不包含@deprecated信息
-noqualifier
输出中不包括指定限定符的列表
-nosince
不包含@since信息
-nodeprecatedlist
不生成已过时的列表
-notree
不生成类分层结构
-noindex
不生成索引
-nohelp
不生成帮助链接
-nonavbar
不生成导航栏
-serialwarn
生成有关@serial标记的警告
-tag
指定单个参数自定义标记
-taglet
要注册的Taglet的全限定名称
-tagletpath
Taglet的路径
-charset
用于跨平台查看生成的文档的字符集
-helpfile
包含帮助链接所链接到的文件
-linksource
以HTML格式生成源文件
-sourcetab
指定源中每个制表符占据的空格数
-keywords
使包、类和成员信息附带HTML元标记
-stylesheetfile
用于更改生成文档的样式的文件
-docencoding
输出编码名称
●
使用方法:javah[选项]<类>
选项参数:
选项参数名称含义
-help
输出此帮助信息并退出
-classpath<路径>用于装入类的路径
-bootclasspath<路径>用于装入引导类的路径
-d<目录>输出目录
-o<文件>输出文件(仅能使用-d或-o之的一个)
-29-
-jni
生成JNI风格的头文件(默认)
-old
生成JDK1.0风格的头文件
-stubs
生成stubs文件
-version
输出版本信息
-verbose
起用详细输出
-force
始终写入输出文件。
指定全限定名称指定<类>(例如,)。
●
使用方法:HtmlConverter[-option1value1[-option2value2[...]]][-simulate]
[filespecs]
选项参数:
选项参数名称含义
-source:
获取源文件的路径。缺省值:
-source-:
从标准输入读取转换文件
-dest:
写入已转换文件的路径。缺省值:
-dest-:
将转换好的文件写入标准输出
-backup:
写备份文件的路径。缺省值:
-f:
强制覆写备份文件。
-subdirs:
应处理子目录中的文件。
-template:
模板文件的路径。如果不确定,请使用缺省值。
-log:
写日志的路径。如果没有提供,则不会写入任何日志。
-progress:
转换时显示进度。缺省值:true
-simulate:
在没有进行转换时显示特定于转换的信息。
-latest:
使用最新的JRE支持发行版mimetype。
-gui:
显示转换程序的图形用户界面。
-filespecs:
用空格分开的文件说明列表。缺省值:"*.html*.htm"(需
要引号)
-30-
●
使用方法:orbd<选项>
选项参数:
选项参数名称含义
-port
启动ORBD的激活端口,缺省值为1049(可选)
-defaultdbORBD
文件的目录,缺省值为"./"(可选)
-serveridORBD
的服务器标识符,缺省值为1(可选)
-ORBInitialPort
初始端口(必需)
-ORBInitialHost
初始主机名称(必需)
●
使用方法:policytool[选项]
选项参数:
选项参数名称含义
-file
规则文件位置
●
功能说明:rmic为远程对象生成存根(stub)和框架(skeleton)。
使用方法:rmic<选项><类名称>
补充说明:rmic编译器根据编译后的Java类(含有远程对象实现)名,为
远程对象生成stub和skeleton(远程对象是指实现接口的对象)。
在rmic命令中所给的类必须是经javac命令成功编译且是完全包限定的类。
选项参数:
选项参数名称含义
-keep
不删除中间生成的源文件
-keepgenerated
(与"keep"相同)。即:为stub和skeleton文件保留所生成的.java
源文件,并将这些源文件写到与.class文件相同的目录中,如果要
指定目录,则使用-d选项。
-v1.1
创建1.1存根协议版本的存根/框架
-31-
-vcompat
(默认值)创建与1.1和1.2存根协议版本兼容的存根/框架
-v1.2
(默认值)仅创建1.2存根协议版本的存根
-iiop
创建IIOP的存根。使用此选项时,<选项>还包括:
-always即使当前显示存根,仍创建它们
-alwaysgenerate(与"-always"相同)
-nolocalstubs不创建为相同进程优化的存根
-idl
创建IDL。使用此选项时,<选项>还包括:
-noValueMethods不生成valuetypes(值类型)的方法
-always即使当前显示IDL,仍创建它
-alwaysgenerate(与同"always"相同)
-g
生成调试信息。即:允许生成调试表格。调试表格含有行号和局
部变量的有关信息,即Java调试工具所使用的信息。缺省情况下,
只生成行号。
-depend
以递归方式重编译过期的文件。即:使编译器考虑重新编译从其
它类引用的类。一般来说,它只重新编译从源代码引用的遗漏或
过期的类。
-nowarn
不生成任何警告。即:关闭警告。如果使用该选项,则编译器不
输出任何警告信息。
-nowrite
不向文件系统写入编译的类
-verbose
输出有关编译器正在执行的操作的信息。即:使编译器和链接器
输出关于正在编译哪些类和正在加载哪些类文件的信息
-classpath<路径>
指定查找输入源和类文件的位置。即:指定rmic用于查询类的路
径。如果设置了该选项,它将覆盖缺省值或CLASSPATH环境变
量。目录用冒号分隔。
-sourcepath<路径>指定用户源文件的查找位置
-bootclasspath<路径>覆盖引导类文件的位置
-extdirs<路径>覆盖安装的扩展目录的位置
-d<目录>
指定存放生成的类文件的位置。即:指定类层次的根目录。此选
项可用来指定stub和skeleton文件的目标目录。
-32-
-J<运行时标志>向java解释程序传递参数
-J-D
-J与-D选项联用,它将紧跟其后的选项(-J与-D之间无空格)传
给java解释器
●
功能说明:rmid启动激活系统守护进程,以便能够在Java虚拟机上注册和
激活对象。
使用方法:rmid<选项>
补充说明:rmid工具启动激活系统守护进程。必须先启动激活系统守护进
程,才能向激活系统注册可被激活的对象或在Java虚拟机上激活可被激活的对
象。
选项参数:
选项参数名称含义
-port<端口>
指定供rmid使用的端口。即:指定rmid的注册服务程序
所使用的端口。激活系统守护进程将ActivationSystem与该
注册服务程序中的名称tionSystem
捆绑在一起。
-log<目录>
指定rmid将日志写入的目录。即:指定目录的名称,激活
系统守护进程在该目录中写入其数据库及相关信息。缺省
状态下,将在执行rmid命令的目录中创建一个log目录。
-stop
停止当前的rmid调用(对指定端口)。即:停止-port选项
所指定端口上的当前rmid调用。若未指定端口,则将停止
在端口1098上运行的rmid。
-C
向每个子进程传递参数(激活组)。即:指定一个选项,在
创建每个rmid的子守护进程(激活组)时,该选项以命令
行参数的形式传给该子守护进程
-J
-33-
●
功能说明:rmiregistry命令可在当前主机的指定端口上启动远程对象注册服
务程序。
使用方法:rmiregistry<选项><端口>
补充说明:rmiregistry命令在当前主机的指定port上创建并启动远程对象注
册服务程序。如果省略port,则注册服务程序将在1099端口上启动。rmiregistry
命令不产生任何输出而且一般在后台运行。远程对象注册服务程序是自举命名服
务。主机上的RMI服务器将利用它将远程对象绑定到名字上。客户机即可查询
远程对象并进行远程方法调用。注册服务程序一般用于定位应用程序需调用其方
法的第一个远程对象。该对象反过来对各应用程序提供相应的支持,用于查找其
它对象。Registry类的方法可用于在某台主机或主机和端
口上获取注册服务程序操作。类的基于URL的方法将对注册服
务程序进行操作,并可用于查询远程对象、将简单(字符串)名称绑定到远程对
象、将新名称重新绑定到远程对象(覆盖旧绑定)、取消远程对象的绑定以及列
出绑定在注册服务程序上的URL。
选项参数:
选项参数名称含义
-J
●
功能说明:serialver命令返回serialVersionUID。
使用方法:serialver[-classpath类路径][-show][类名称...]
补充说明:serialver以适于复制到演变类的形式返回一个或多个类的
serialVersionUID。不带参数调用时,它输出用法行。
选项参数:
选项参数名称含义
-show
显示一个简单的用户界面。输入完整的类名并按回车键或“显示”按钮
可显示serialVersionUID。
-34-
●
如图4-3所示。
图命令的使用方法
可用命令:
命令名称含义
register
注册一个可激活的服务器
unregister
取消服务器注册
getserverid
返回应用程序名称的服务器标识符
list
列出所有已注册服务器
listappnames
列出当前定义的应用程序名称
listactive
列出当前活动的服务器
locate
将已注册服务器定位在特定类型的端口
locateperorb
为已注册服务器的特定对象请求代理程序定位端口。
orblist
对象请求代理程序(orb)名称及其映射列表
shutdown
关闭一个已注册服务器
startup
启动一个已注册服务器
-35-
help
取得帮助
quit
退出此工具
●
功能说明:为Java归档(JAR)文件产生签名,并校验已签名的JAR文件的签
名。
使用方法:
jarsigner[选项]jar文件别名
jarsigner-verify[选项]jar文件
补充说明:jarsigner工具用于两个目的:①为Java归档(JAR)文件签名;②
校验已签名的JAR文件的签名和完整性。
命令选项:
-keystore
密钥库位置。即:指定密钥仓库的URL。缺省值是用户的
宿主目录中的.keystore文件,它由系统属性“”
决定。
-storepass<口令>
用于密钥库完整性的口令。即:指定访问密钥仓库所需的
口令。这仅在签名(不是校验)JAR文件时需要。在这种
情况下,如果命令行中没有提供-storepass选项,用户将被
提示输入口令。
-storetype<类型>
密钥库类型。即:指定要被实例化的密钥仓库类型。默认
的密钥仓库类型是安全属性文件中""属性值
所指定的那个类型,由re中的静态方
法getDefaultType返回。
-keypass<口令>
专用密钥的口令(如果不同)。即:指定用于保护密钥仓
库项(由命令行中指定的别名标出)的私钥的口令。使用
jarsigner为JAR文件签名时需要该口令。如果命令行中没
有提供口令,且所需的口令与密钥仓库的口令不同,则将
提示用户输入它。
-sigfile<文件>.SF/.DSA文件的名称。即:指定用于生成.SF和.DSA文件
-36-
的基本文件名。
-signedjar<文件>
已签名的JAR文件的名称。即:指定用于已签名的JAR
文件的名称。
-digestalg<算法>摘要算法的名称。
-sigalg<算法>签名算法的名称。
-verify
验证已签名的JAR文件。即:如果它出现在命令行中,则
指定的JAR文件将被校验,而不是签名。如果校验成功,
将显示“jarverified”。如果试图校验未签名的JAR文件,
或校验被不支持的算法(例如未安装RSA提供者时使用的
RSA)签名的JAR文件,则将有如下显示:"jarisunsigned.
(signaturesmissingornotparsable)"。
-verbose
签名/验证时输出详细信息。即:如果它出现在命令行中,
则代表“verbose”模式,它使jarsigner在JAR签名或校验
过程中输出额外信息。
-certs
输出详细信息和验证时显示证书。即:如果它与-verify和
-verbose选项一起出现在命令行中,则输出将包括JAR文
件的每个签名人的证书信息。
-tsa
时间戳机构的位置。
-tsacert<别名>时间戳机构的公共密钥证书
-altsigner<类>替代的签名机制的类名
-altsignerpath<路径列表>替代的签名机制的位置
-internalsf
在签名块内包含.SF文件。即:过去,JAR文件被签名时
产生的DSA(签名块)文件包含一个同时产生的.SF文件
(签名文件)的完整编码副本。这种做法已被更改。为了
减小输出JAR文件的整个大小,缺省情况下.DSA文件不
再包含.SF文件的副本。但是如果-internalsf出现在命令行
中,将采用旧的做法。该选项主要在测试时有用;实际上
不应使用它,因为这样将消除有用的优化。
-sectionsonly
不计算整个清单的散列。即:如果它出现在命令行中,则
-37-
JAR文件被签名时生成的.SF文件(签名文件)将不包括
含有整个清单文件的散列的头。它仅包含与JAR中每个单
独的源文件相关的信息和散列。该选项主要在测试时有
用;实际上不应使用它,因为这样将消除有用的优化。
-protected
密钥库已保护验证路径。
-providerName<名称>提供者名称。
-providerClass<类>
[-providerArg<参数>]
加密服务提供者的名称。其中[-providerArg<参数>]的作用
是主类文件和构造函数参数。
-J[javaoption]
将指定的javaoption串直接传递到Java解释器。(jarsigner
实际上是解释器的一个“wrapper”)。该选项不应含有任何
空格。它有助于调整执行环境或内存使用。要获得可用的
解释器选项的清单,可在命令行键入java-h或java-X。
●
功能说明:管理由私钥和认证相关公钥的X.509证书链组成的密钥仓库(数
据库)。还管理来自可信任实体的证书。
语法:keytool[命令]
补充说明:keytool是个密钥和证书管理工具。它使用户能够管理自己的公
钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务
认证自己)或数据完整性以及认证服务。它还允许用户储存他们的通信对等者的
公钥(以证书形式)。
命令:keytool后面可携带的命令名称及含义如图4-4~图4-7所示。
-38-
图4-4keytool命令参数
图4-5keytool命令参数
-39-
图4-6keytool命令参数
图4-7keytool命令参数
-40-
●
功能说明:将含有本地编码字符(既非Latin1又非Unicode字符)的文件转
换为Unicode编码字符的文件。
使用方法:native2ascii[options][inputfile[outputfile]]
补充说明:Java编译器和其它Java工具只能处理含有Latin-1和/或Unicode
编码(udddd记号)字符的文件。native2ascii将含有其它字符编码的文件转换成
含Latin-1和/或Unicode编码字符的文件。若省略outputfile,则使用标准输出设
备输出。此外,如果也省略inputfile,则使用标准输入设备输入。
命令选项:
选项参数名称含义
-reverse
执行相反的操作:将含Latin-1和/或Unicode编码
字符的文件转换成含本地编码字符的文件。
-encoding[encoding_name]
指定转换过程使用的编码名称。缺省的编码从系统
属性ng中得到。
●
功能说明:extcheck检测目标jar文件与当前安装方式扩展jar文件间的版本
冲突。
语法:extcheck[-verbose]
补充说明:extcheck实用程序检查指定Jar文件的标题和版本与JDKTM软
件中所安装的扩展是否有冲突。在安装某个扩展前,可以用该实用程序查看是否
已安装了该扩展的相同版本或更高的版本。
extcheck实用程序将文件清单的specification-title和
specification-version头与当前安装在扩展目录下所有Jar文件的相对应的头进行
比较(缺省扩展目录为jre/lib/ext)。extcheck实用程序比较版本号的方式与
atibleWith方法相同。若未检测到冲突,则返回代码为0。
如果扩展目录中任何一个jar文件的清单有相同的specification-title和相同的或更
新的specification-version号,则返回非零错误代码。如果的清单中
没有specification-title或specification-version属性,则同样返回非零错误代码。
-41-
命令选项:
选项参数名称含义
-verbose
对扩展目录中的Jar文件进行检查时,列出文件。此外,还报
告目标jar文件的清单属性及所有冲突的jar文件。
●
更多推荐
jdk 6 0
发布评论