Похоже, ваш PropertiesConfigurator
класс принимает путь к файлу (в виде строки).Если бы вы использовали вместо этого URL, я думаю, что это сработало бы - таким образом, вы получите URL JAR, который включает в себя путь к архиву JAR (или WAR, EAR и т. Д.) И путь внутри JAR.Если у вас есть контроль над кодом PropertiesConfigurator, я бы порекомендовал изменить его так, чтобы он загружал файл через URL.
Если это не вариант, вы можете извлечь файлы свойств и поместить их в файл.система напрямую.Например, вы можете создать каталог в каталоге вашего сервера (например, мы назовем его log4jProps
).Затем вы можете создать разделяемую библиотеку в конфигурации вашего сервера (server.xml) следующим образом:
<library id="log4j.props">
<fileset dir="${server.config.dir}/log4jProps" includes="r_resources/*properties"/>
</library>
, а затем обновить конфигурацию приложения, чтобы использовать эту библиотеку в качестве общей разделяемой библиотеки:
<application id="myApp" name="myApp" location="myApp.war"...>
<classloader commonLibraryRef ="log4j.props" />
</application>
Для правильной меры вы, вероятно, должны удалить файл свойств из архивов вашего приложения - таким образом, они не будут загружаться оттуда, а затем сбросить PropertiesConfigurator, как сейчас.
Надеюсь, это поможет, Энди