关于classpath

classpath是用来设计JAVA类文件(.class)所在的路径
classpath的主要作用就是当你在一个shell窗口下执行命令时,可以从在classpath中设置的目录搜索,不用一层再一层的进入目录找到命令的执行文件,再执行。没设置classpath,就默认为当前目录。

class是java中的类
classpath是java中的类路径
Java虚拟机(JVM)借助类装载器装入应用程序使用的类,具体装入哪些类根据需要决定。classpath环境变量告诉类装载器到去寻找第三方提供的类和用户定义的类。
用JCreator或者Eclipse来编译运行java程序,可以不设置环境变量,用命令行来编译运行java程序,需要设置path和classpath。作用是存放执行程序所用到的类。
CLASSPATH 里能包含大量备用的搜索路径。然而,使用JAR 文件时要注意一个问题:必须将JAR文件的名字置于类路径里,而不仅仅是它所在的路径。所以对一个名为grape.jar 的JAR 文件来说,我们的
类路径需要包括:
CLASSPATH=.;D:\JAVA \LIB;C:\flavors\grape.jar

个人理解说明:其实从上面可以看出,如果你用记事本来写java程序(在Window下),并用cmd命令窗口中输入
javac,java命令,如果你的代码中用到了其它的jar或者你自己的写的类,但又和你的主程序没在一个包下,这时你就要在classpath中设置
你要用到的jar或者自己写的类的路径,让Java在编译器可以找到你要用的东西,如上面例子所示。 在我们用一些工具时,如eclipse中,我们可以
把一些Jar包什么的添加进来,然后搜索路径的事工具帮我们做了,所以不用在手动加进去,如下图,eclipse工程中专门有一个文件来记录
classpath

所以我们在配置Java环境变量的时候配置classpath的值为.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar

其中,.指当前目录,而后面的指的是所可能会用到的JDK提供的一些默认的jar包,当然,如果你需要第三方的jar包,你可以自己另行配置。

时间: 2024-12-28 11:46:02

关于classpath的相关文章

关于Spring中的ClassPath

src不是classpath, WEB-INF/classes,lib才是classpathWEB-INF/ 是资源目录, 客户端不能直接访问, 这话是没错,不过现在的IDE编译器在编译时会把src下的文件(是文件,不是.java)移到WEB-INF/classes下.不过值得注意的 是,spring配置文件里这个locations是uri表示,也就是说你写的jdbc.properties是当前相对路径,要访问 classpath记得要这样写:<value>classpath:jdbc.pro

java -D参数简化加入多个jar【简化设置classpath】

1.-D<name>=<value> set a system property  设置系统属性. java命令引入jar时可以-cp参数,但时-cp不能用通配符(多个jar时什么烦要一个个写,不能*.jar),面通常的jar都在同一目录,且多于1个. -Djava.ext.dirs 有了这个,就不用一个一个的写了. 如:java -Djava.ext.dirs=lib MainClass 这样就可以达到简化设置classpath了 版权声明:本文为博主原创文章,未经博主允许不得转

web项目读取classpath路径下面的文件

首先分两大类按web容器分类 一种是普通的web项目,像用Tomcat容器,特点是压缩包随着容器的启动会解压缩成一个文件夹,项目访问的时候,实际是去访问文件夹,而不是jar或者war包. 这种的无论你是用获取路径的方法this.getClass().getResource("/")+fileName 获取流的方法this.getClass().getResourceAsStream(failName); import org.springframework.util.ResourceU

关于IDEA开发环境下的Kafka+Spark Streaming的classpath配置方式

一.前言 在使用Spark Streaming中的Kafka Direct API进行Kafka消费的过程中,通过spark-submit的方式提交jar包,会出现如下错误信息,提示无法找到KafkaUtils. Exceptionin thread "main" java.lang.NoClassDefFoundError: org/apache/spark/streaming/kafka/KafkaUtils$ at com.zhkmxx.scala.app.KafkaStream

web.xml 配置中classpath: 与classpath*:的区别

引用一篇很不错的文章:http://blog.csdn.net/wxwzy738/article/details/16983935 首先 classpath是指 WEB-INF文件夹下的classes目录 classpath 和 classpath* 区别: classpath:只会到你指定的class路径中查找文件; classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找. 举个简单的例子,在我的web.xml中是这么定义的:classpath*:META-

&lt;util:properties id=&quot;propertiesReader&quot; location=&quot;classpath:jdbc.properties&quot;/&gt;

Property or field 'jdbc' cannot be found on object of type 'org.springframework.beans.factory.config.BeanExpressionContext' - maybe not public? // jdbc.username=scott jdbc.password=TIGER jdbc.url=jdbc:oracle:thin:@localhost:1521:orcl jdbc.driver=orac

图解 classpath

先引用几句网上流传的话: 首先 classpath是指 WEB-INF文件夹下的classes目录 classpath 和 classpath* 区别: classpath:只会到你指定的class路径中查找文件; classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找. maven项目如下: 发布到tomcat里: 查看发布文件: 完

简述path和classpath环境变量的作用

根据windows系统在查找可执行程序的原理,可以将java工具所在路径定义到path环境变量中,让系统帮我们去找运行执行的程序.可以在任何目录下都可以执行java的工具. 根据path环境变量的原理,可以定义一个名为classpath环境变量,将要运行的class文件所在目录定义在该变量中.

myeclipse中的classpath

myeclipse中的classpath是一个很重要的问题 myeclipse的在查找的时候都是按照其查找,而且myeclipse有一个专门的文件来保存classpath的信息,这也是别人的项目拷贝的时候需要的一个重要文件,不然这个项目要导入到自己的myeclipse中就会发生错误,此时就只能是手工来编写这个文件 myeclipse的classpath文件就是项目根目录下的“.classpath”文件,其格式如下: [html] view plain copy print? <?xml vers

classpath环境变量(JDK5.0之后不建议配置)

classpath的作用: 作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,一旦配置了classpath路径信息的时候,jvm与java编译器都会根据classpath指定的路径去寻找class文件. 如何设置当前目录(.) set classpath=.;设置路径 与 set classpath=设置路径;.有什么区别? “.”在前面的时候,java虚拟机会先从当前路径去寻找class文件,然后再到指定的路径去需找.如果”.”在后面,java虚拟机则会先寻找指定好的路径,