Вы должны иметь возможность вставить свойство в атрибут location, а затем использовать инструмент сборки, чтобы контролировать, какой файл свойств используется.
<mvc:resources mapping="/photos/*" location="${baseContentPath}/photos/"></mvc:resources>
Затем создайте файл свойств для каждой целевой ОС (например, linux.properties и windows.properties) и установите значение baseContentPath
в каждой:
baseContentPath=C:/software
Затем сделайте так, чтобы ваша сборка определяла целевую платформу и включала правильный файл свойств. (Если вам нужна помощь в этом, я думаю, что это, вероятно, должен быть отдельный вопрос; нам потребуется куча подробностей о структуре вашего проекта и о том, какой инструмент сборки вы используете.)
С другой стороныМожет быть, вы хотите создать одну WAR, которая будет работать независимо от платформы, на которой она развернута? В этом случае все становится немного сложнее, и я не в себе, когда использую конфигурацию на основе XML. Это довольно легко, если вы перейдете в конфигурацию на основе аннотаций (и я искренне рекомендую всем пользователям Spring отказаться от конфигурации на основе XML!).