I am trying to locate the path of the current running/debugged project programmatically in Java, I looked in Google and what I found was System.getProperty(\"user.id\"
This is the new way to do it:
Path root = FileSystems.getDefault().getPath("").toAbsolutePath();
Path filePath = Paths.get(root.toString(),"src", "main", "resources", fileName);
Or even better:
Path root = Paths.get(".").normalize().toAbsolutePath();
But I would take it one step further:
public String getUsersProjectRootDirectory() {
String envRootDir = System.getProperty("user.dir");
Path rootDIr = Paths.get(".").normalize().toAbsolutePath();
if ( rootDir.startsWith(envRootDir) ) {
return rootDir;
} else {
throw new RuntimeException("Root dir not found in user directory.");
}
}