Например:
MyApp - это веб-приложение, содержащее файл свойств (server.properties), который описывает конфигурационные данные (например, имена серверов) для приложения. На этапе разработки server.properties находится в своей собственной папке проекта IDE (логическое место для нее).
Теперь пришло время развернуть MyApp. IDE делает довольно тривиальным создание файлов классов, а также поддерживающих файлов конфигурации. Теперь мы просто бросаем Jar в соответствующий веб-контейнер и уходим...
Через неделю... данные конфигурации сервера, которые MyApp использует, необходимо изменить. Что имеет смысл?
а. Измените файл server.properties на земле IDE и создайте совершенно новый файл jar. Переустановка. (что означает отскакивание приложения для простого изменения конфигурации).
В. Crack открыть уже развернутый Jar и изменить файл server.properties? (возможно, придется вызвать функцию обновления в MyApp, если server.properties кэшируется... но не требует полного отскока приложения. Также необходимо помнить об изменении исходных server.properties, так что будущие развертывания не возвращают server.properties к старым именам серверов).
С. Сделать server.properties внешним по отношению к файлу jar в первую очередь. Очень похож на процесс B, с незначительной разницей в сохранении данных конфигурации, внешних по отношению к банке (вводит разные пути между развертыванием разработки и производством)
Д. Другое:
Спасибо!