在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