所以我最近从服务启动 jar 文件而不是首先进入相关目录的脚本切换。有没有办法确保使用 jar 文件的路径而不是服务启动它的位置?在应用程序内部,我使用下面的代码来获取正确的路径。
try {
Path p = Path.of(getClass().getProtectionDomain().getCodeSource().getLocation().toURI());
workPath = p.getParent().toString();
if( workPath.matches(".*[lib]")) { // Meaning used as a lib
workPath = Path.of(workPath).getParent().toString();
}
settingsFile = Path.of(workPath, "settings.xml");
} catch (URISyntaxException e) {
Logger.error(e);
}