黑马程序员技术交流社区
标题:
classpath到底是什么啊?
[打印本页]
作者:
欢欢
时间:
2014-3-29 20:32
标题:
classpath到底是什么啊?
本帖最后由 欢欢 于 2014-4-1 09:15 编辑
以前没有配过classpath,EditPlus和MyEclipse都用着好好的。
突然今天用EditPlus的时候,报“错误: 找不到或无法加载主类”,而MyEclipse还用着好好的。
打开系统属性,发现classpath配了:D:\Java_jdk\jdk1.7.0_45\jre\lib\rt.jar 这个文件。
把classpath删掉后,EditPlus恢复正常,MyEclipse也正常。
classpath到底是什么啊?为什么配置了它之后会报错误: 找不到或无法加载主类?
D:\Java_jdk\jdk1.7.0_45\jre\lib\rt.jar 又是什么文件?为什么系统会自动把classpath配到这个文件上面?
作者:
黄晓鑫
时间:
2014-3-29 20:37
你看过类加载器没有 看过了就知道了
作者:
欢欢
时间:
2014-3-29 20:40
黄晓鑫 发表于 2014-3-29 20:37
你看过类加载器没有 看过了就知道了
哦哦,还没有看到那里呢,刚看泛型
作者:
syusikoku
时间:
2014-3-29 21:50
哥们,rt.jar是系统提供的所有的api都在那个里面。而classpath 是我们的字节码文件的根目录。你可以指定一个目录,比如c:\java,然后你把.java文件里面放在里面使用javac xx.java 然后使用java xx运行。其实我们配置classpath是这样配置的 路径是: .;c:\java; .代表先在当前目录中查找,如果找不到再到c:\java目录中查找。如果找不到就报错了。也就是说你要想实现在任何一个目录下都可以使用java xx。就是你编译好的文件,你想在任意目录下都可以直接使用java直接运行的话。你就要配置classpath
作者:
小武8686886
时间:
2014-3-29 23:07
http://blog.csdn.net/zhangpengju999/article/details/5282526 给你博客地址你看看就明白了
作者:
董振冬
时间:
2014-3-30 10:24
java虚拟机在运行一个类的时候,会去classpath下配置的目录下去找
classpath配置 配置jdk下的两个jar包路径: jdk/lib/dt.jar; jdk/lib/tools.jar
path: jdk/jir/bin
作者:
枫露
时间:
2014-3-30 17:20
javac -classpath的使用:
javac:如果当前你要编译的java文件中引用了其它的类(比如说:继承),但该引用类的.class文件不在当前目录下,这种情况下就需要在javac命令后面加上-classpath参数,通过使用以下三种类型的方法 来指导编译器在编译的时候去指定的路径下查找引用类。
(1).绝对路径:javac -classpath c:/junit3.8.1/junit.jar Xxx.java
(2).相对路径:javac -classpath ../junit3.8.1/Junit.javr Xxx.java
(3).系统变量:javac -classpath %CLASSPATH% Xxx.java (注意:%CLASSPATH%表示使用系统变量CLASSPATH的值进行查找,这里假设Junit.jar的路径就包含在CLASSPATH系统变量中)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2