我需要获得<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");
。
以下行将找到基本目录,其中src
,resources
和target
文件夹位于:
System.getProperty("user.dir");
它是启动JVM的目录,这些属性在System Properties中描述。完整搜索看起来像:
final String targetPath = System.getProperty("user.dir");
final File target = Arrays.stream(new File(targetPath).listFiles(File::isDirectory))
.filter(file -> "target".equals(file.getName()))
.findAny()
.orElseThrow(() -> new FileNotFoundException("The target has not been found"));