【发布时间】:2013-02-27 21:01:28
【问题描述】:
我正在尝试获取 Runnable JAR 文件的运行位置。 我试过做
try {
String path = new java.io.File(".").getCanonicalPath();
} catch (IOException e) {
e.printStackTrace();
}
但是返回:
C:\Users\Kevin\Desktop/server/Server
JAR 文件位于
C:\Users\Kevin\Desktop
我也试过了
return new file(Server.class.getProtectionDomain().getCodeSource().getLocation().getPath());
但是返回:
C:\Users\Kevin\Desktop\server.jar/server/Server
所以基本上我想要没有文件名而不是 ClassPath 的 JAR 文件的路径。
有什么办法吗?
【问题讨论】:
-
这可能会有所帮助,之前的讨论。 stackoverflow.com/questions/320542/… //Henrik
-
规范不完整。如果您不是从 JAR 运行,应该怎么做?如果 JAR 存在于某个网络中怎么办?
-
嗯,事情是我正在尝试创建一个包含文件的目录,并且该目录必须在我的桌面上或我从中运行 JAR 的任何地方。如果我在 Eclipse 中以调试模式运行它,它会在 bin/server 文件夹中创建文件。
-
但是你总是从“.”跑,所以.....问题出在哪里?
标签: java class jar path directory