java的classpath路徑中加點號 ‘.’ 的作用
阿新 • • 發佈:2018-05-10
width loader 任務管理器 配置 syntax info 系統 運行 println
“.”表示當前目錄,就是編譯或者執行程序時你所在的目錄下的.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路徑中加點號 ‘.’ 的作用