java的环境变量classpath中加点号 ‘.’ 的作用
“.”表示当前目录,就是编译或者执行程序时,你的.class文件所在的目录;
当找.class文件时,先去“.”路径下找,找不到的话,在去“;”后的下一个路径找
而JAVA_HOME表示JDK安装路径;
该路径在eclipse中是以vmarg的形式传入的,可以在任务管理器中打开命令行看出,现在来实验下,打印出当前路径,看看长什么样。
AAA.java文件所在路径
AAA.java中的内容:
package Test;
class AAA{ public static void main(String[] args) throws URISyntaxException { //这里输出的就是当前文件 System.out.println(ClassLoader.getSystemClassLoader().getResource(".").toURI().getPath()); }}
输出的结果是:/F:/bupt/project/leetcode/out/production/leetcode/
运行的时候,直接找该路径(/F:/bupt/project/leetcode/out/production/leetcode/)下的Test/AAA.class文件,即/F:/bupt/project/leetcode/ot/poduction/leetcode/AAA.class文件即可。
如果我们把编译后的.class删除,然后在运行AAA.java,就会出现错误
jdk1.6以上就不需要配置classpath了;
系统会自动帮你配置好;
您只需要配置JAVA_HOME和Path就可以了
例如我的配置: JAVA_HOME:E:Javajdk1.7.0
Path后追加;%JAVA_HOME%in;%JAVA_HOME%jrein;
关于“.”,在DOS和Linux中,表示当前目录,“..”表示当前目录的上一级目录
./就是当前目录
../就是上一个目录
../../就是上上一个目录
java的环境变量classpath中加点号 ‘.’ 的作用
“.”表示当前目录,就是编译或者执行程序时,你的.class文件所在的目录;
当找.class文件时,先去“.”路径下找,找不到的话,在去“;”后的下一个路径找
而JAVA_HOME表示JDK安装路径;
该路径在eclipse中是以vmarg的形式传入的,可以在任务管理器中打开命令行看出,现在来实验下,打印出当前路径,看看长什么样。
AAA.java文件所在路径
AAA.java中的内容:
package Test;
class AAA{
public static void main(String[] args) throws URISyntaxException {
//这里输出的就是当前文件
System.out.println(ClassLoader.getSystemClassLoader().getResource(".").toURI().getPath());
}
}
输出的结果是:/F:/bupt/project/leetcode/out/production/leetcode/
运行的时候,直接找该路径(/F:/bupt/project/leetcode/out/production/leetcode/)下的Test/AAA.class文件,即/F:/bupt/project/leetcode/ot/poduction/leetcode/AAA.class文件即可。
如果我们把编译后的.class删除,然后在运行AAA.java,就会出现错误
jdk1.6以上就不需要配置classpath了;
系统会自动帮你配置好;
您只需要配置JAVA_HOME和Path就可以了
例如我的配置: JAVA_HOME:E:Javajdk1.7.0
Path后追加;%JAVA_HOME%in;%JAVA_HOME%jrein;
关于“.”,在DOS和Linux中,表示当前目录,“..”表示当前目录的上一级目录
./就是当前目录
../就是上一个目录
../../就是上上一个目录