Spring OS зависимое отображение - PullRequest
1 голос
/ 16 октября 2019

Я хотел бы знать, есть ли способ разрешить сопоставление, которое можно использовать для Windows и Linux. Это две независимые строки mvc.xml, но я хочу, чтобы он работал «одновременно» с зависанием ОС сервера, если это возможно. Спасибо за ваше время.

<mvc:resources mapping="/photos/*" location="file:///C:/software/photos/"></mvc:resources> 
<!-- <mvc:resources mapping="/photos/*" location="file:/tmp/photos/"></mvc:resources>-->

1 Ответ

0 голосов
/ 16 октября 2019

Вы должны иметь возможность вставить свойство в атрибут location, а затем использовать инструмент сборки, чтобы контролировать, какой файл свойств используется.

<mvc:resources mapping="/photos/*" location="${baseContentPath}/photos/"></mvc:resources> 

Затем создайте файл свойств для каждой целевой ОС (например, linux.properties и windows.properties) и установите значение baseContentPath в каждой:

baseContentPath=C:/software

Затем сделайте так, чтобы ваша сборка определяла целевую платформу и включала правильный файл свойств. (Если вам нужна помощь в этом, я думаю, что это, вероятно, должен быть отдельный вопрос; нам потребуется куча подробностей о структуре вашего проекта и о том, какой инструмент сборки вы используете.)

С другой стороныМожет быть, вы хотите создать одну WAR, которая будет работать независимо от платформы, на которой она развернута? В этом случае все становится немного сложнее, и я не в себе, когда использую конфигурацию на основе XML. Это довольно легко, если вы перейдете в конфигурацию на основе аннотаций (и я искренне рекомендую всем пользователям Spring отказаться от конфигурации на основе XML!).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...