【发布时间】:2016-10-25 01:13:21
【问题描述】:
在Get location of JAR file 中,有人说“只要你的类路径只包含一个条目,这[获取可运行 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 文件夹。)
这是我关心的唯一用例:将此程序作为可运行的 jar 运行。
谢谢。
【问题讨论】:
-
我很欣赏这两个答案。很棒的信息,每个链接都有一些链接;稍后将阅读更多内容。 (现在必须做一些有偿工作。)
标签: java executable-jar