У меня есть приложение osgi (в felix) с несколькими пакетами. В одном пакете есть несколько общих файлов свойств, а остальным пакетам нужно просто использовать их.
Мы используем maven и spring osgi, файлы свойств находятся в таких ресурсах, как:
<path to bundle>/src/main/resources/
common.properties
engine.properties
...
Maven обычно создает их внутри jar-пакета, поэтому они должны быть в пути к классам приложения, но Spring не имеет к ним доступа, это терпит неудачу:
<context:property-placeholder location="classpath:common.properties" />
(пробовал classpath*: и другие комбинации)
Действительно ли это какая-то глобальная проблема с идеологией osgi и отсутствием стандартного способа заставить ее работать? Только хаки и обходные пути, такие как это или <osgix:cmProperties...>
?
Это беспокоит, потому что это делает развертывание более сложным и подверженным ошибкам: вы не можете развертывать файлы свойств внутри jar-файлов только с помощью mvn deploy
, как в обычном приложении, — вам придется вручную копировать их в рабочую коробку при каждом выпуске.