В настоящее время у меня много проектов, A и B. A - это веб-приложение Spring Boot, работающее на встроенном Tomcat и зависящее от B JAR следующим образом:
<dependency>
<groupId>mygroup</groupId>
<artifactId>B<artifactId>
</dependency>
, упакованный в артефакт B, является файлом конфигурации / свойств как таковым
Файл propsB.properties
my.property={property.set.by.A}
значение my.property
отличается в зависимости от того, кто извлекает зависимость B JAR, в этом случае A вытягивает ее, но существуют десятки других проектов, зависящих от нее, поэтому жесткое кодирование значения не легко выполнимо. Это лишь небольшой пример ситуации, но существуют сотни таких свойств и файлов, и многие из них используются внешними средами / библиотеками, которые не могут преобразовывать заполнители свойств в системные свойства (например) во время выполнения. Заполнители свойств необходимо переписать в файлах свойств во время выполнения (заполнители разрешены).
Моя цель - уметь во время выполнения указывать, на что следует заменить все заполнители свойств. Распаковка WAR, переписывание файлов свойств с разрешенными заполнителями не является хорошим решением, поэтому я ищу альтернативы, поскольку не могу придумать ни одного.
Единственное другое решение, которое я могу придумать, - это чтобы все свойства были в их собственном JAR-файле, от которого зависит B, который затем будет распакован во время выполнения, свойства будут разрешены и будут использованы.