Вы можете использовать стандартный (Java) синтаксис шаблона $ {java.home} в файлах свойств, а затем заменить его во время выполнения на значение System.getProperty("java.home");
.Поэтому в вашем файле вместо:
certificate=%JAVA_HOME%\certs\myselffign.cer (Windows)
certificate=$JAVA_HOME\certs\myselffign.cer (*nix)
Просто используйте стандарт:
certificate=${java.home}/certs/myselfsign.cer
И в коде сделайте что-то вроде:
String javaHomePath = System.getProperty("java.home")l
Properties props = Properties.load( ...);
String certFilePath = props.get("certificate");
certFilePath = certFilePath.replaceAll("${java.home}", javaHomePath);
Имейте в виду, используяСтандартный синтаксис шаблона также позволяет вам использовать некоторые инструменты замены свойств с открытым исходным кодом.Как Spring PropertyResolver.Надеюсь, это поможет.