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.");
}
}
File currDir = new File(".");
String path = currDir.getAbsolutePath();
System.out.println(path);
This will print .
at the end. To remove, simply truncate the string by one char e.g.:
File currDir = new File(".");
String path = currDir.getAbsolutePath();
path = path.substring(0, path.length()-1);
System.out.println(path);
This is a code snippet to retrieve the path of the current running web application project in java.
public String getPath() throws UnsupportedEncodingException {
String path = this.getClass().getClassLoader().getResource("").getPath();
String fullPath = URLDecoder.decode(path, "UTF-8");
String pathArr[] = fullPath.split("/WEB-INF/classes/");
System.out.println(fullPath);
System.out.println(pathArr[0]);
fullPath = pathArr[0];
return fullPath;
}
Source: https://dzone.com/articles/get-current-web-application