Если вашей конечной целью является загрузка файла свойств, более простой способ сделать это - использовать свойство bootstrap / env / system или <jndiEntry>
в файле server.xml для хранения местоположения файла свойств, а затем загрузить его. Например, используя переменную окружения:
(в файле server.xml)
<server>
<featureManager>
<feature>jndi-1.0</feature>
...
</featureManager>
<jndiEntry jndiName="configDir" value="D:\\ConfigFiles\\Dev"/>
</server>
Затем вы можете загрузить ресурс в вашем приложении следующим образом:
@Resource(lookup = "configDir")
String configDir;
InputStream is = new FileInputStream(configDir + "/myproperty.properties");
Или, если вы всегда будете размещать свои файлы свойств конфигурации где-нибудь под ${server.config.dir}
, тогда вы можете использовать встроенную переменную окружения SERVER_CONFIG_DIR
в Liberty:
String configDir = System.getenv("SERVER_CONFIG_DIR"); // equivalent to ${server.config.dir} in server.xml
InputStream is = new FileInputStream(configDir + "/myproperty.properties");
По теме управления настройкой, проверьте MicroProfile Config (например, <feature>microProfile-1.2</feature>
), который вам может пригодиться:
Настройка микросервисов с помощью Liberty