`

java classpath

    博客分类:
  • java
阅读更多
http://download.oracle.com/javase/1.4.2/docs/tooldocs/solaris/classpath.html

引用

CLASSPATH是什么?它的作用是什么?

    它是Javac编译器的一个环境变量。

    它的作用与import、package关键字有关。

    当你写下improt java.util.*时,编译器面对import关键字时,就知道你要引入java.util这个package中的类;但是编译器如何知道你把这个 package放在哪里了呢?所以你首先得告诉编译器这个package的所在位置;如何告诉它呢?就是设置CLASSPATH啦 :) 如果java.util这个package在c:\JDK\ 目录下,你得把c:\jdk\这个路径设置到CLASSPATH中去!当编译器面对import java.util.*这个语句时,它先会查找CLASSPATH所指定的目录,并检视子目录java\util是否存在,然后找出名称吻合的已编译文件(。class文件)。如果没有找到就会报错!

    CLASSPATH有点像c\C++编译器中的INCLUDE路径的设置哦,是不是?当c\c++编译器遇到include <iostream>这样的语句,它是如何运作的?哦,其实道理都差不多!搜索INCLUDE路径,检视文件!

    当你自己开发一个package时,然后想要用这个package中的类;自然,你也得把这个package所在的目录设置到CLASSPATH中去!

    CLASSPATH的设定,对JAVA的初学者而言是一件棘手的事。所以Sun让JAVA2的JDK更聪明一些。你会发现,在你安装之后,即使完全没有设定CLASSPATH,你仍然能够编译基本的JAVA程序,并且加以执行。


引用

使用 CLASSPATH 环境变量

    一般用户将想要使用 -classpath 命令行选项。下面将介绍如何设置 CLASSPATH 环境变量或清除以前安装遗留下的设置。
    设置 CLASSPATH
    在 DOS 提示符下,可用 set 命令修改 CLASSPATH 环境变量。其格式为:

       set CLASSPATH=path1;path2 ...

    路径应该以指定驱动器的字母开头,例如 C:\...。这样,在偶然切换到不同驱动器时仍可找到类(例如,如果路径项以 \... 开头,并且当前位于驱动器 D: 上,则所需的类将在 D: 而不是 C: 驱动器上找)。
    清除 CLASSPATH
    如果 CLASSPATH 环境变量被设置成不正确的值,或启动文件或脚本程序设置了不正确路径,则可通过使用下列命令清除 CLASSPATH:

      C:> set CLASSPATH=

    该命令仅清除当前会话的 CLASSPATH。要确保在以后的会话中具有正确的 CLASSPATH 设置,则应该删除或修改启动设置。
    更改启动设置
    如果在系统启动时设置 CLASSPATH 变量,则查找它的位置取决于所使用的操作系统:
    
    操作系统 方法
    Windows 98 和
    Windows 95 检查 autoexec.bat 文件中的 set 命令。
    Windows xp 启动“控制面板”,选择“系统”,单击“环境”选项卡,并在“用户变量”部分中,检查 CLASSPATH 变量。

理解类路径和包名

    Java 类被组织成包,而这些包被映射到文件系统中的目录。但是与文件系统不同的是,无论何时指定包名,都应指定完整包名 -- 永远不要仅指定它的一部分。例如,java.awt.Button 的包名总是应指定为 java.awt。

    例如,假定想要 Java 运行环境在包 utility.myapp 中查找名为 Cool.class 的类。如果该目录的路径为 C:\java\MyClasses\utility\myapp,则应该将类路径设置成包含 C:\java\MyClasses。

    要运行该应用程序,可使用下述 JVM 命令:

    C:>  java -classpath C:\java\MyClasses utility.myapp.Cool

    当该应用程序运行时,JVM 使用类路径设置查找在 utility.myapp 包中定义的任何其他类。

    注意:应在命令中指定完整包名。例如,设置类路径包含 C:\java\MyClasses\utility 并使用命令 java myapp.Cool 是不可能的,因为这找不到该类。

    (您可能想知道用什么定义类的包名。答案是:包名是类的一部分,并且不能修改,除非重新编译该类。)

        注意:包规范机制一个有趣的结果是,属于相同包的多个文件实际上可存在于不同的目录中。对于每个类,包名都是相同的,但是每个文件的路径可从类路径中的不同目录开始。

    文件夹和归档文件
    当类存储在目录(文件夹)中时,例如 c:\java\MyClasses\utility\myapp,则类路径项指向包含包名第一个元素的目录(在这里为 C:\java\MyClasses,因为包名是 utility.myapp)。

    但是当类存储在归档文件(.zip 或 .jar 文件)中时,类路径项则是该 .zip 或 .jar 文件的路径。例如,要使用位于 .jar 文件中的类库,则命令应该类似下述形式:

       java -classpath C:\java\MyClasses\myclasses.jar utility.myapp.Cool

    多重指定
    要在目录 C:\java\MyClasses 和 C:\java\OtherClasses 中查找类文件,则可将类路径设置为:

       java -classpath C:\java\MyClasses;C:\java\OtherClasses ...

    注意两个路径之间用分号分隔。
    指定次序
    指定多个类路径项的次序是相当重要的。Java 解释器将按照目录在类路径变量中的次序在各个目录中查找类。在上例中,Java 解释器首先在目录 C:\java\MyClasses 中查找需要的类。只有当它在该目录中没有找到该类时,解释器才能到 C:\java\OtherClasses 目录中查找。

     以上需要注意的是:我是在j2se1.5的版本上设置的 系统是XP.Pro
         1.在 “我的电脑”下设置成功CLASSPATH后 就不用再在每次运行javac和java命令提示符的时候设置CLASSPATH   除非包路径有所改变
        2.编译成功以后 可以在任何地方执行该.class文件
        3.当运行java命令提示符的时候  务必注明该文件的相对路径
        4.在设置 文件所在包的包名的时候不能跟 java定义的包名字一样 诸如java,javax之类的

分享到:
评论

相关推荐

    java classpath 配置详细讲解

    ### Java Classpath 配置详解 #### 一、前言 对于初学Java的朋友而言,配置Java环境常常是一项艰巨的任务,尤其是如何正确设置`classpath`。这篇文章将通过一系列实际操作来详细阐述`classpath`的配置过程,帮助...

    java classpath 理解

    ### Java Classpath 理解 #### 一、在命令行查看 Classpath 在 Java 开发环境中,了解如何查看当前环境下的 classpath 非常重要。这有助于开发者明确类库和其他依赖项的位置,从而更好地管理项目的运行环境。 1. ...

    java classpath 批量设置脚本

    CLASSPATH="$CLASSPATH:""$jar" done windows : SETLOCAL ENABLEDELAYEDEXPANSION set LIB=xx set CLASSPATH=. FOR %%C IN (LIB\*.jar) DO set CLASSPATH=!CLASSPATH!;%%C echo %CLASSPATH%

    java Classpath全解

    ### Java Classpath 全解 对于初学者而言,理解 Java 中的 `classpath` 概念可能会感到有些困难。很多时候,程序在某个环境下可以正常运行,但换到另一个环境时却出现了问题,这往往与 `classpath` 设置不当有关。...

    java ClassPath 构建

    Java的ClassPath构建是Java应用程序运行时环境查找类和资源的重要机制。理解并正确设置ClassPath对于任何Java开发者来说都是至关重要的,因为它决定了虚拟机(JVM)如何找到并加载所需的类文件。在这个主题中,我们...

    java classPath checker

    java classPath checker eclipse myeclipse

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

    ### Java的Classpath详解及其重要性 在Java编程的学习与实践中,环境配置是入门的关键步骤之一,其中最为棘手的问题之一便是如何正确设置`classpath`。`classpath`不仅影响着程序能否正常编译和运行,还关系到...

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

    Java 环境配置与设置 JAVA_HOME, CLASSPATH, PATH 的目的 Java 环境配置是 Java 开发的基础,我们需要正确地配置 JAVA_HOME, CLASSPATH, PATH 等环境变量,以便正确地编译和运行 Java 程序。在本节中,我们将详细地...

    Java命令行classpath的设置

    Java命令行classpath(类路径)的设置是Java开发过程中的一项基础操作,对于理解和运行Java程序至关重要。类路径是指定Java虚拟机(JVM)在执行Java程序时查找类文件的位置。正确配置类路径能确保JVM能够找到并加载...

    Java 中的 ClassPath 和 Package

    Java中的ClassPath和Package是Java开发中至关重要的概念,它们直接影响到Java程序的编译和运行。在这篇文章中,我们将详细探讨这两个主题。 首先,让我们理解什么是ClassPath。ClassPath是Java虚拟机(JVM)查找类...

    java中path和classpath的设置

    ### Java中的Path与Classpath设置详解 在Java开发过程中,正确配置环境变量是十分重要的一步。其中,`path`和`classpath`是最为关键的两个环境变量,它们直接影响到Java程序能否正常编译和运行。 #### 一、Path 的...

    13-Java语言(classpath环境变量)

    Java语言的classpath环境变量是Java开发和运行过程中不可或缺的一个配置项。它定义了Java虚拟机(JVM)在执行程序时查找类文件的路径,确保JVM能够找到所需的类库和资源。理解并正确设置classpath对于Java开发者至关...

    java classloader classpath 张孝祥

    ### Java ClassLoader与ClassPath详解 #### 一、概述 在Java编程中,类加载机制是十分关键的一个环节。类加载器(`ClassLoader`)负责将编译后的`.class`文件加载到Java虚拟机(JVM)中执行,而类路径(`ClassPath...

    java读取项目中的文件(src目录下)

    - 在运行Java程序时,JVM会查找类路径(Classpath)中定义的路径来加载类和其他资源。`src`目录下的文件在构建后会被包含到Classpath中。 3. **使用Java I/O流读取文件**: - Java提供了一系列的I/O流类来处理...

    关于classpath

    Java的classpath是每个Java开发者都必须了解的关键概念,它决定了JVM(Java虚拟机)在执行Java程序时如何查找和加载所需的类文件。本文将深入探讨classpath的基本原理、配置方式以及如何确保`javac`正确编译运行Java...

    ant调用java类

    &lt;java classpath="${ddl.insertClassName.path}" classname="${ddl.insertClassName}" fork="YES" classpathref="compile.classpath"&gt; ${ddl.insertClassName.path}/${arg.value}" /&gt; &lt;/java&gt; ``` 1. **...

    在linux和windows下动态设置classpath调用java类方法脚本代码

    在编程世界中,Java是一种广泛使用的跨平台语言,它的运行依赖于类路径(Classpath),这是一个指示Java虚拟机(JVM)查找.class文件的环境变量。本文将详细讲解如何在Linux和Windows操作系统下动态设置classpath以...

    path与classpath区别

    path与classpath是Java开发中两个常见的概念,但它们之间的区别却经常被混淆。下面,我们将详细介绍path和classpath的作用、区别以及它们在Java开发中的应用。 path的作用 path是系统用来指定可执行文件的完整路径...

    classpath 和path

    `classpath`环境变量则主要用在Java等基于虚拟机的语言中,它告诉Java虚拟机(JVM)在哪里可以找到类文件或jar包。当运行Java程序时,JVM会根据`classpath`中定义的路径来加载所需的类文件。如果类文件不在`...

Global site tag (gtag.js) - Google Analytics