安装J2SE

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

所谓的J2SE全名为The JavaTM 2 Platform, Standard Edition,现在最新的版本为1.3.1,各种作业系统(Solaris SPARC/x86、Linux、Windows),有相对应的J2SE,可以至Sun的网站Download(http://java.sun.com/j2se/1.3/)。

安装:

在Linux上安装J2SE:

在Sun的网站有两种版本可供下载,一种是RedHat RPM shell script形式,一种是GNUZIP Tar shell script形式。在开始安奘前,请切换使用者为su。

RedHat RPM shell script:

执行下载的档案:

切换至该档案的目录,执行:

./j2sdk-1_3_1-linux-i386-rpm.bin

该档案是一个shell script,所以在执行前请先确定档案有执行的权限

chmod +x j2sdk-1_3_1-linux-i386-rpm.bin

或直接用

sh j2sdk-1_3_1-linux-i386-rpm.bin

来执行。

在看完License的宣告後,当然是yes,此时就会开始解压缩,完成後在相同的路径下,会出现一个rpm的档案jdk-1.3.1.i386.rpm,接着再执行:

rpm -ivh jdk-1.3.1.i386.rpm

就会进行安装。若出错误讯息,说有dependence的问题,则加入 --nodeps的option即可。

rpm -ivh jdk-1.3.1.i386.rpm --nodeps

完成後,JDK被安装在/usr/java/jdk1.3.1,记得将/usr/java/jdk1.3.1/bin加入PATH哦。

GNUZIP Tar shell script:

执行下载的档案:

切换至该档案的目录,在执行该程式之前,请先决定要将JDK安装在什麽地方,因为执行该shell script後,会将jdk1.3.1安装在执行安装的路径下。

所以请先决定所以要安装的路径,将j2sdk-1_3_1-linux-i386.bin搬到该目录下,执行:

./j2sdk-1_3_1-linux-i386.bin

一样请先确定该档案是否有执行的权限。

看完License後,一样是key入yes,则开始解压缩,完成後再个目录会多了一个jdk1.3.1的目录,即安装完成。一样记得将jdk1.3.1下的bin加入PATH。

在Windows上安装J2SE:

windows的JDK安装很简单,只要执行下载的档案,并随着指示即可完成,在此不多加赘述。

J2SE的目录架构(以windows为例):

安装完後,目录的结构如左:

jdk1.3.1为安装的根目录,

以下针对一些重要的目录作介绍:

jdk1.3.1\bin:

这里放置的都是开发者所需要的工具,都是可执行档,例如:java、javac、javah、rmic、rmiregistry等等,所以最好将只路径加入PATH。

jdk1.3.1\lib:

开发工具所需要的档案,例如:tools.jar,dt.jar,而jdk1.3.1还将Htmlconverter.jar也放进来,可以不用在分开下载。

jdk1.3.1\jre:

顾名思义,就是runtime的根目录,在执行java程式时,可从系统的property--java.home,得到该路径。

jdk1.3.1\jre\lib:

libraries和工具所需要的档案,有一些可执行档,一些dll档。

jdk1.3.1\jre\bin\classic:

Java 2 Classic Virtual Machinen所使用的dll档。

jdk1.3.1\jre\bin\hotspot:

Java HotSpotTM Client Virtual Machine所使用的dll档。

jdk1.3.1\jre\lib:

主要java runtime environment所需要的library、property、和resources都放在这里。

jdk1.3.1\jre\lib\ext:

和扩充机制有关,放一些额外package的jar档,或helper的jar档。放到这里的jar档,当执行java十虽然没有加入CLASSPATH,一样可被找到。

jdk1.3.1\jre\lib\security:

存放Security Manager所使用的档案,例如:java.policy,java.security。

安装後的设定:

设定PATH:

先将 [JDK root]\bin加入PATH,如此一来,在命令列直接打java就能执行java的程式了。因为之前说过,在bin这个目录下放的就是开发这用的工具,例如:java、javac、javadoc、javah、rmic等等。

设定CLASSPATH:

这个设定是用在当执行java的程式时,VM要去哪里找所要执行的class,或程式中用到的class,等一下会说明java VM寻找class的机制。

所以假如你有一些class是经常要用到的,或是执行某个程式必须要用到其他的class时,则要让java VM可以找到所要引用的class,最简单的方式是将该class写入CLASSPATH中。另外,CLASSPATH通常都会设 . (即目前路径),以及 ../ (执行路径的上一层),此外,windows的分隔符号为分号(;),linux上则为茂号(:)。

例如:

在windows的环境下:

set CLASSPATH=.;../;c:\MyClass.class;c:\MyJar.jar

基本观念的介绍:

java为物件导向的程式语言,对java来说,我们写的一支程式,至少就是一个以上的class(意思类似於类别,以下我们还是会直接写class),而class和class可以互相继续或是引用(假使所要引用或是继续的class并没有多加限制的话),而Java Platform将classes大概分为三大类,

Bootstrap classes:

就是构成主要Java Platform的基本classes,包含在rt.jar和i18n.jar这两个jar档里,放在[JDK root]\jre\lib目录下。只要执行java,这些classes可以自动被找到。

Extension classes:

就是在[JDK root]\jre\lib\ext下,所有.jar的档案,所谓的jar档,其实就是一大堆classes的集合,用java提供的tool---jar,将很多的class压缩成一个.jar的档案。广泛来说,其实jar是一个压缩工具,所以.jar里还可以放置其他的档案,或是程式执行时所需要的resources,例如:图形档,纯文字档,设定档等等。

而放在[JDK root]\jre\lib\ext下的jar档,Java VM在执行时也会自动找到。

(此即所谓的Extension Mechanism。)

User classes:

开发者或是一般使用者,所要用的classes,要Java VM找到这些classes有两种方式,

将所要用的classes加入环境变数CLASSPATH中。

在执行程式的command line多加入参数 -classpath 来指定其他的classes。例如要执行MyClass.class时,要用到YourClass.class,我将YourClass.class放在c:\otherclasses下,而MyClass.class放在c:\myclasses下,则执行时下以下的指令即可:

java -classpath c:\otherclasses c:\myclasses\MyClass

所以当新写了一个class,用javac编译完後,用java执行时,出现ClassNotFountException时,即说明你要执行的class,或是引用的class,Java VM在以上三类中classes中没有找到。解决的方式就是将所要用到的classes加入第二和第三类的classes中,在执行一次即可。

简单的例:

public class HelloWorld{

public static void main(String[] args){

System.out.println("Hello World!!");

}

}

随便打开一个文字编辑器,将以上的程式并贴上,将该档案存成HelloWorld.java,注重大小写对java来说是有差别的,储存完毕後到console下,切换路径到存放档案的目录下,执行:

javac HelloWorld.java

则在相同的路径下会产生一个HelloWorld.class的档案,即所谓的class档,接着在执行:

java HelloWorld

则会在console输出"Hello World!!"的字串。若有问题,参考安装後的设定,以及基本观念两节。

Jar Tool的基本用法:

jar是用来将很多classes包成一个jar档的压缩工具,即基本原理和zip相当,所以用来解zip档的解压所工具,一样可以将jar档解开。jar的主要目的是压缩classes,加速网路下载时间。基本用法:

将classes档案压缩

jar cvf MyJar.jar c:\myclasses\*.class

c --- create jar file ,压缩档案,产生jar档。

v --- verbose

f --- 指定档案名称

上一个指令的意思是将c:\myclasses\下所有的class档,包成MyJar.jar档,并在处理的过程中秀讯息到console。

将jar档解开:

jar xvf MyJar.jar

x --- 解压缩

v --- verbose

f --- 指定档案名称

上一个指令是将MyJar.jar解开到现在的目录。

jar tf MyJar.jar

t --- 检视Jar档内容

f --- 指定档案名称

上一个指令即检视MyJar.jar里的档案。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航