|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
通过视频学习比传统的大课堂学习更适合成人化的学习规律。有人说大课堂气氛好,学习氛围浓,热闹,可以认识很多人。详解设置类路径
布局
可经由过程对JDK工具利用-classpath选项(首选办法)或设置CLASSPATH情况变量来设置类路径。
C:>jdkTool-classpathpath1;path2...
C:>setCLASSPATH=path1;path2...
每一个path以文件名或目次开头,该文件名或目次取决于将类路径设置成甚么:
关于包括.class文件的.zip或.jar文件,路径以.zip或.jar文件名开头。
关于未定名包中的.class文件,路径以包括.class文件的目次开头。
关于已定名包中的.class文件,路径以包括“root”包(完全包名中的第一个包)的目次开头。
用分号来分开多个项目。利用set命令时,必要省略等号双方的空格(=)。个中jdkTool能够为java、javac、javadoc,等等。有关具体列表,拜见JDK开辟工具。
申明
类路径告知Java使用程序往那里查找第三方和自界说类--即不是Java扩大或Java平台一部分的类。在JDK1.2中,JVM和其他JDK工具经由过程顺次搜刮平台库、库扩大和类路径来查找类(有关搜刮战略的具体信息,拜见怎样查找类)。
多半使用程序的类库城市充实使用扩大机制。因而,只要想要加载某个类库(a)未位于以后目次或其分枝包中且(b)未位于扩大机制所指定的地位时,才需设置类路径。
假如用户是从旧版本JDK晋级而来,则启动设置大概包含不再必要的CLASSPATH设置。这时候应当删除任何非使用程序特定的设置。有些利用Java假造机的第三方使用程序大概修正CLASSPATH情况变量以包含它们利用的类库。这类设置能够保存。
可经由过程在挪用JVM或其他JDK工具时利用Java工具的-classpath选项改动类路径(比方:java-classpath...)。这是改动类路径的首选办法。还可经由过程利用CLASSPATH情况变量改动类路径。
注重:JDK1.2缺省类路径是以后目次。设置CLASSPATH变量或利用-classpath命令行开关将掩盖缺省值,因此假如想要在搜刮路径中包含以后目次,则必需在新设置中包含“.”。
类能够存储在目次(文件夹)或回档文件(比方classes.zip或classes.jar)中。有关回档文件的具体信息和类路径的事情道理,拜见本文档最初的了解类路径和包名。
主要申明:JDK旧版本在缺省类路径中还包含<jdk-dir>/classes项。该目次仅供JDK利用,且不必于使用程序类。使用程序类应当安排在JDK内部的目次。如许,安装新JDK时不用必要从头安装使用程序库。为了与旧版本的兼容性,利用<jdk-dir>/classes目次作为类库的使用程序在以后版本中仍能运转,但不克不及包管在今后的版本中它们还能运转。
利用Java工具的-classpath选项
Java工具java、jdb、javac和javah具有-classpath选项,在工具运转时它将代替缺省类路径或由CLASSPATH情况变量所指定的类路径。这是改动类路径设置的保举办法,由于如许每一个使用程序可具有它所需的类路径而又不会搅扰其他使用程序。
运转时工具java和jdb还具有-cp选项。该选项是-classpath的缩写。
关于十分特别的情形,java和javac都具有开关,使得可改动它们利用的路径以查找它们本人的类库。可是,尽年夜多半用户历来都不会用到这些开关。
利用CLASSPATH情况变量
如前一节中所述,一样平常用户将想要利用-classpath命令行选项。本节将先容怎样设置CLASSPATH情况变量或扫除之前安装遗留下的设置。
设置CLASSPATH
在DOS提醒符下,可用set命令修正CLASSPATH情况变量。其格局为:
setCLASSPATH=path1;path2...
路径应当以指定驱动器的字母开首,比方C:...。如许,在偶尔切换到分歧驱动器时仍可找到类(比方,假如路径项以...开首,而且以后位于驱动器D:上,则所需的类将在D:而不是C:驱动器上找)。
扫除CLASSPATH
假如CLASSPATH情况变量被设置成不准确的值,或启动文件或剧本程序设置了不准确路径,则可经由过程利用以下命令扫除CLASSPATH:
C:>setCLASSPATH=
该命令仅扫除以后会话的CLASSPATH。要确保在今后的会话中具有准确的CLASSPATH设置,则应当删除或修正启动设置。
变动启动设置
假如在体系启动时设置CLASSPATH变量,则查找它的地位取决于所利用的操纵体系:
操纵体系办法
Windows98和
Windows95反省autoexec.bat文件中的set命令。
WindowsNT启动“把持面板”,选择“体系”,单击“情况”选项卡,并在“用户变量”部分中,反省CLASSPATH变量。
了解类路径和包名
Java类被构造成包,而这些包被映照到文件体系中的目次。可是与文件体系分歧的是,不管什么时候指定包名,都应指定完全包名--永久不要仅指定它的一部分。比方,java.awt.Button的包名老是应指定为java.awt。
比方,假定想要Java运转情况在包utility.myapp中查找名为Cool.class的类。假如该目次的路径为C:javaMyClassesutilitymyapp,则应当将类路径设置成包括C:javaMyClasses。
要运转该使用程序,可以使用下述JVM命令:
C:>java-classpathC:javaMyClassesutility.myapp.Cool
当该使用程序运转时,JVM利用类路径设置查找在utility.myapp包中界说的任何其他类。
注重:应在命令中指定完全包名。比方,设置类路径包括C:javaMyClassesutility并利用命令javamyapp.Cool是不成能的,由于这找不到该类。
(您大概想晓得用甚么界说类的包名。谜底是:包名是类的一部分,而且不克不及修正,除非从头编译该类。)
注重:包标准机制一个风趣的了局是,属于不异包的多个文件实践上可存在于分歧的目次中。关于每一个类,包名都是不异的,可是每一个文件的路径可从类路径中的分歧目次入手下手。
文件夹和回档文件
当类存储在目次(文件夹)中时,比方c:javaMyClassesutilitymyapp,则类路径项指向包括包名第一个元素的目次(在这里为C:javaMyClasses,由于包名是utility.myapp)。
可是当类存储在回档文件(.zip或.jar文件)中时,类路径项则是该.zip或.jar文件的路径。比方,要利用位于.jar文件中的类库,则命令应当相似下述情势:
java-classpathC:javaMyClassesmyclasses.jarutility.myapp.Cool
多重指定
要在目次C:javaMyClasses和C:javaOtherClasses中查找类文件,则可将类路径设置为:
java-classpathC:javaMyClasses;C:javaOtherClasses...
注重两个路径之间用分号分开。
指定序次
指定多个类路径项的序次是相称主要的。Java注释器将依照目次在类路径变量中的序次在各个目次中查找类。在上例中,Java注释器起首在目次C:javaMyClasses中查找必要的类。只要当它在该目次中没有找到该类时,注释器才干到C:javaOtherClasses目次中查找。
还有就是总有人问我到底该学习什么语言,什么语言有前途,那么我的回答是不论是C,C++,java,.net,ruby,asp或是其他语言都可以学,编程的关键不是语言,而是思想。 |
|