【发布时间】:2019-04-14 13:12:00
【问题描述】:
我需要获得<project>/target 文件夹的绝对路径。
我使用以下代码:
Main main = new Main();
String testPath = main.getClass().getResource("").getPath();
System.out.println(testPath);
它返回类似/E:/java/main/target/classes/的路径
但我需要得到/E:/java/main/target/
我应该如何在getResource()中设置一个值?
在我的解决方案中,由于某种原因,我无法使用 System.getProperty("user.dir");。
【问题讨论】:
-
你实际上想做什么?如果您将应用程序打包到 JAR 中进行分发,那么您将不再拥有
target文件夹。 -
在我给你答案后,你指定你不能使用
System.getProperty("user.dir");出于“某些”原因。 什么原因? -
我会得到路径并将文件放在那里。
-
@Nikolas 解释的原因比较长,这里想问问能不能用另一种方式通过getProperty()获取绝对路径
-
这是一个 XY 问题。
标签: java classloader filepath