“.”表示当前目录,就是编译或者执行程序时你所在的目录下的.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:\Java\jdk1.7.0\ Path后追加;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
关于“.”,在DOS和Linux中,表示当前目录,“..”表示当前目录的上一级目录
./就是当前目录
../就是上一个目录
../../就是上上一个目录
java的classpath路径中加点号 ‘.’ 的作用
原文:https://www.cnblogs.com/lijingran/p/9017293.html
“.”表示当前目录,就是编译或者执行程序时你所在的目录下的.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:\Java\jdk1.7.0\ Path后追加;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
关于“.”,在DOS和Linux中,表示当前目录,“..”表示当前目录的上一级目录
./就是当前目录
../就是上一个目录
../../就是上上一个目录