在Get location of JAR file有人說,「只要你的類路徑只包含一個條目,就可以工作[獲取可運行jar文件的位置]」。爲什麼java.class.path屬性總是返回jar的位置?
這是我的代碼:
public static void main(String[] args) {
System.out.println(System.getProperty("java.class.path"));
}
我創建了一個可運行的jar(使用Eclipse導出),當我運行它,不管是什麼我設置CLASSPATH來,我只得到了運行的JAR的路徑。
例如:
C:\TEMP>set CLASSPATH=C:\TEMP\BackupCompilations\Photos;C:\FreeOCR\tessdata
C:\TEMP>echo %CLASSPATH%
C:\TEMP\BackupCompilations\Photos;C:\FreeOCR\tessdata
C:\TEMP>set CLASSPATH
CLASSPATH=C:\TEMP\BackupCompilations\Photos;C:\FreeOCR\tessdata
C:\TEMP>java -jar C:\Programs\bin\Test_one_prop.jar
C:\Programs\bin\Test_one_prop.jar
我也使用-cp在命令行上嘗試。
有人能想出一個反例,它返回的東西更多/不是我正在運行的jar文件的位置?
(瞭解,在Eclipse中返回我的項目的bin文件夾。)
這是唯一的使用情況下,我很擔心:運行此程序作爲一個可運行的罐子。
感謝。
我明白這兩個答案。偉大的信息,跟着每個鏈接中的一些;將在稍後閱讀。 (現在必須做一些支付工作。) – Tamias