JAVA类路径说明(新手必读).doc

JAVA类路径说明(新手必读).doc

ID:62033624

大小:53.00 KB

页数:9页

时间:2021-04-15

JAVA类路径说明(新手必读).doc_第1页
JAVA类路径说明(新手必读).doc_第2页
JAVA类路径说明(新手必读).doc_第3页
JAVA类路径说明(新手必读).doc_第4页
JAVA类路径说明(新手必读).doc_第5页
资源描述:

《JAVA类路径说明(新手必读).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、类路径 (classpath)当你满怀着希望安装好java,然后兴冲冲地写了个“hello world”,然后编译,运行,就等着那两个美好的单词出现在眼前.可是不幸的是,只看到了“Can’tfind classHelloWorld”或者“Exception  inthread "main" java.lang.NoSuchMethodError: main。为什么呢?编译好的class明明在呀。我们一起来看一看java程序的运行过程。我们已经知道java是通过java虚拟机来解释运行的,也就是通过java命令—

2、javac编译生成的.class文件就是虚拟机要执行的代码,称之为字节码(bytecode),虚拟机通过classloader来装载这些字节码,也就是通常意义上的类。这里就有一个问题,classloader从哪里知道java本身的类库及用户自己的类在什么地方呢?或者有着缺省值(当前路径),或者要有一个用户指定的变量来表明,这个变量就是类路径(classpath),或者在运行的时候传参数给虚拟机。这也就是指明classpath的三个方法。编译的过程和运行的过程大同小异,只是一个是找出来编译,另一个是找出来装载。实际上

3、java虚拟机是由java luncher初始化的,也就是java (或java。exe) 这个程序来做的.虚拟机按以下顺序搜索并装载所有需要的类:1、引导类:组成java平台的类,包含rt。jar和i18n。jar中的类。2、扩展类:使用java扩展机制的类,都是位于扩展目录($JAVA_HOME/jre/lib/ext)ﻫ中的.jar档案包。3、用户类:开发者定义的类或者没有使用java扩展机制的第三方产品.你必须在命令行中使用—classpath选项或者使用CLASSPATH环境变量来确定这些类的位置。我们在

4、上面所说的用户自己的类就是特指这些类。这样,一般来说,用户只需指定用户类的位置,引导类和扩展类是“自动"寻找的。那么到底该怎么做呢?用户类路径就是一些包含类文件的目录,.jar,。zip文件的列表,至于类具体怎么找,因为牵扯到package的问题,下面将会说到,暂时可认为只要包含了这个类就算找到了这个类。根据平台的不同分隔符略有不同,类unix的系统基本上都是“:”,windows多是“;”。其可能的来源是: ﻫ* “.",即当前目录,这个是缺省值。*   CLASSPATH环境变量,一旦设置,将缺省值覆盖。*  

5、命令行参数-cp或者—classpath,一旦指定,将上两者覆盖。* 由—jar参数指定的。jar档案包,就把所有其他的值覆盖,所有的类都来自这个指定的档案包中。由于生成可执行的.jar文件,还需要其他一些知识,比如package,还有特定的配置文件,本文的最后会提到。可先看看jdk自带的一些例子。我们举个HelloWorld的例子来说明。先做以下假设:* 当前目录是/HelloWorld(或c:HelloWorld,以后都使用前一个)*  jdk版本为1。2。2(linux下的)* PATH环境变量设置正确。(

6、这样可以在任何目录下都可以使用工具)*  文件是HelloWorld.java,内容是:   public class HelloWorld  { public static  void main(String[] args){System。out。println( ”Hello World!”); System。exit(0); }} 首先这个文件一定要写对,如果对c熟悉的话,很有可能写成这样:public static void   main(int argc,String[] argv){.。..}这样是

7、不对的,不信可以试一试。由于手头没有java的规范,所以作如下猜想:java的application程序,必须以public static  void main(String[])开始,其他不一样的都不行。到现在为止,我们设置方面只设置了PATH。1、当前路径就是指你的。class文件在当前目录下, [HelloWorld]$  javac  HelloWorld.java   //这一步不会有多大问题,[HelloWorld]$   java HelloWorld       // 这一步可能就会有问题..如果出

8、了象开头那样的问题,首先确定不是由于敲错命令而出错.如果没有敲错命令,那么接着做:[HelloWorld]$ echo $CLASSPATH或者 c:HelloWorld〉echo  %CLASSPATH%看看CLASSPATH环境变量是否设置了,如果设置了,那么用以下命令: [HelloWorld]$ CLASSPATH=或者  c:\HelloWorl

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。