`
gyabooks
  • 浏览: 23651 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

再来学习Java classpath

阅读更多

<!-- google_ad_client = "pub-4615277071069293"; /* 文字连接广告横行A */ google_ad_slot = "7077201342"; google_ad_width = 728; google_ad_height = 15; //-->

摘要:关于classpath的东西我在我的博客上写过一篇文章。我想这次简单一些, 换个角度来说class找不到。从绝对路径类全名来说!

本文针对的是Windows平台,其他的同理。

我们假设你的Hellow.java源文件放在c:\java里,你JDK是刚安装的任意版本,你没有改动你系统变量的classpath(也没有添加或是修改)。

我们的类代码清单是:

  1. packagenet.csdn.blog.qb2049_xg;
  2. publicclassHelloWorld
  3. {
  4. publicstaticvoidmain(Stringargs[])
  5. {
  6. System.out.println("HelloWorld!");
  7. }
  8. }

请你注意我们的命令行的绝对路径,以及NoClassDefFoundError的错误情况。如下图一:

classpath-error

图一

分清两个东西,绝对路径“c:\java\”和类全名“net.csdn.blog.qb2049_xg.HelloWorld”。为什么 我把这里的“net.csdn.blog.qb2049_xg.HelloWorld”叫做类全名呢,这是因为不论在什么地方JVM都是这样调用的,而不是简单的调用HelloWorld,因为我们第一行的package 限制了它这样调用。这里的.java和.class放在同一个目录中。进一步讨论,请你看图二

classpath-error

图二

绝对路径下执行类全名,“C:\java>java net.csdn.blog.qb2049_xg.HelloWorld”,注意我这里的 类全名绝对路径,这两个那一个出现问题,就会抛出NoClassDefFoundError的异常。JVM执行时在当前的目录中寻 找net.csdn.blog.qb2049_xg.HelloWorld类,然后加载执行。如果找不到,就会用异常告知。我们再看图三,命令执行以后,文件的产生结果。

classpath-error

图三

我们把目录中的HelloWorld.class删除,然后执行如图四的命令:

classpath-error

图四

注意我画线强调的,尤其时参数后面的点“.”,不知道为什么,JDK非要这样才能让我的类文件放在指定的包中。图四的命令执行以后,产生如图五的文件结构 :

classpath-error

图五

我们此时执行C:\java>java net.csdn.blog.qb2049_xg.HelloWorld,你发现了还是正确的。为什么呢?net目录此时对于JVM来说那不是Windows下的目录。那是 为了更好管理我们java类的包,用package把一些相关的类放在一个包里面,好管理也是安全的。记着它不是纯粹的目录,包的魅力就是让Java更好的扩展。现在我们来讨论绝对路径 ,其实这里的“C:\java\”,就是类路径,就是classpath值,它的指定可以让你在任何地方随心所欲,如图六,我们换一个目录:

classpath-error

图六

你现在分清楚类全名绝对路径的关系了吗?如果没有请留下E_mail,我 们进一步讨论!如果你在一个目录中建立一个项目,而且使用的“原始工具”,JDK+记事本+命令行,那么把该绝对目录添加到你的系统变量中去,可以在具体编译或是执行时去掉classpath选项。具体 的如何操作,请查看:

希望你对本文留下建议,谢谢!

<!-- google_ad_client = "pub-4615277071069293"; /* 文字广告-横向A */ google_ad_slot = "2531196800"; google_ad_width = 728; google_ad_height = 90; //-->

<!-- google_ad_client = "pub-4615277071069293"; /* 图片广告-横向A */ google_ad_slot = "5730752301"; google_ad_width = 728; google_ad_height = 90; //-->

分享到:
评论

相关推荐

    Java环境配置与设置JAVA_HOME_CLASSPATH_PATH的目的

    本节中,我们学习了 Java 环境配置的目的和设置方法。我们了解了 JAVA_HOME, CLASSPATH, PATH 环境变量的作用和设置方法,并了解了配置这些环境变量的目的在于能够正确地编译和运行 Java 程序。

    java的classpath的终结者(不会让你失望)

    在Java编程的学习与实践中,环境配置是入门的关键步骤之一,其中最为棘手的问题之一便是如何正确设置`classpath`。`classpath`不仅影响着程序能否正常编译和运行,还关系到开发者的调试效率与代码组织方式。本文将...

    学习JAVA的步骤 java 学习 步骤

    ### 学习Java的六大步骤详解 #### 一、安装JDK与理解其核心概念 在开始学习Java之前,第一步是正确安装Java开发工具包(JDK),并编写第一个简单的程序——“HelloWorld”。虽然安装JDK看似简单,但实际上涉及到了...

    JAVA改错学宝典(形象生动学习java)

    从提供的文件内容来看,这篇文章通过一休与愚公的对话形式,向读者传达了学习Java编程的正确方法和常见错误处理的建议。下面将详细解析这些知识点。 ### Java编程学习方法 1. **动手实践是关键** 文章中愚公形象...

    java后端学习课程整理

    JAVA 后端学习课程总结 JAVA 是一种广泛使用的编程语言,广泛应用于 Android 应用程序开发、Web 应用程序开发、桌面应用程序开发等领域。JAVA 后端开发是指使用 JAVA 语言开发服务器端应用程序,例如 Web 服务、...

    GNU Classpath

    对于Java开发者来说,理解GNU Classpath和Jamvm的组合非常重要,因为这不仅有助于他们在资源受限的环境中部署Java应用,还可以深入学习Java类库的内部工作原理。通过参与这样的开源项目,开发者可以提升自己的编程...

    自学如何使用框架的工具classpath

    2. **设置`classpath`**:你可以通过`-cp`或`-classpath`命令行选项来设置`classpath`,或者在`JAVA_HOME/bin`目录下的`java.exe`启动脚本中修改`CLASSPATH`环境变量。 3. **路径分隔符**:在Windows上,路径之间...

    学习JAVA 快速学习JAVA

    2. **环境配置**:学习安装Java Development Kit (JDK) 和设置环境变量,如JAVA_HOME、PATH和CLASSPATH,这是编写和运行Java程序的先决条件。 3. **基本语法**:包括数据类型(如整型、浮点型、字符型和布尔型)、...

    java发展与学习方向

    我们学习Java 大概有3 个方向,第一,桌面系统,包括C/S 结构;第二,J2ME,面向无 限领域,很有潜力的家伙,看看中国的手机用户就知道了。第三,面向企业应用、计算的平 台,J2EE。 初次涉及Java 领域,感觉到Java ...

    java学习文档.pdf

    ### Java学习文档知识点详解 #### 一、Java环境配置 在开始Java学习之前,环境配置是不可或缺的一步。环境配置主要分为以下...掌握这些知识点对于初学者来说是必要的,它们是深入学习Java和开发Java应用程序的基础。

    超级好的JAVA学习资料(1)

    总的来说,这份【超级好的JAVA学习资料(1)】是你学习JAVA的宝贵资源,它将引导你逐步掌握JAVA编程,从基础到进阶,从理论到实践,为你的JAVA开发之路打下坚实基础。通过系统学习,你可以提升自己的编程能力,为...

    0基础学习java编程

    配置Java环境变量,如JAVA_HOME、PATH和CLASSPATH,对于确保系统能正确识别Java命令至关重要。 2. **Hello, World!**:每个编程语言的学习通常从打印"Hello, World!"开始。通过这个简单的例子,你可以了解如何创建...

    Java环境配置与设置JAVA_HOME,CLASSPATH,PATH的目的[归类].pdf

    Java环境配置对于软件开发至关重要,特别是对于初学者来说,理解并正确设置JAVA_HOME、CLASSPATH和PATH这三个环境变量是入门Java编程的基础。首先,我们来深入解析这些变量的含义和作用。 **JAVA_HOME**环境变量是...

    java学习学习资料,分模块

    这份资料对于初学者和有一定经验的开发者来说都是宝贵的学习材料,它涵盖了基础到进阶的各种主题,帮助读者全面理解Java编程。 在"基础学习资料"这一标签下,我们可以期待以下关键知识点: 1. **Java环境配置**:...

    java 学习PPT课件

    2. **Java环境配置**:如何下载JDK(Java Development Kit),安装过程,设置环境变量如JAVA_HOME、PATH和CLASSPATH,以及验证Java是否正确安装的方法。 3. **Java语法基础**:介绍Java的基本语法,包括数据类型...

    Java学习文档.doc

    - **Linux命令与相关知识**:虽然Java是跨平台的,但学习一些基本的Linux命令对于开发者来说是必要的,因为很多服务器环境使用Linux操作系统。 - **Eclipse/Myeclipse程序结构**:Eclipse和Myeclipse是流行的Java...

    学习JAVA八大步骤(学习java必备宝典)

    1. **环境配置**:学习Java的第一步通常是安装Java Development Kit (JDK),设置好环境变量,包括`JAVA_HOME`, `PATH`, 和 `CLASSPATH`,确保系统能够识别并执行Java程序。 2. **基础语法**:掌握Java的基础语法是...

Global site tag (gtag.js) - Google Analytics