Я парень из DevOps, а не сам по себе разработчик, поэтому я не могу правильно сформулировать этот пост, но здесь все сказано.
Мы используем Gradle для сборки.Я знаю, что это действительно старая версия, но это то, что у нас есть.Обновление версии, вероятно, откроет другую банку с червями.
$ ./gradlew --version
------------------------------------------------------------
Gradle 2.9
------------------------------------------------------------
Build time: 2015-11-17 07:02:17 UTC
Build number: none
Revision: b463d7980c40d44c4657dc80025275b84a29e31f
Groovy: 2.4.4
Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM: 1.8.0_181 (Oracle Corporation 25.181-b13)
OS: Mac OS X 10.13.6 x86_64
У меня есть 2 модуля, module-core и module-app, и module-app зависит от module-core, поэтому у меня есть это в моем модуле-app / build.gradle file
dependencies {
compile project('module-core')
...
}
module-core имеет следующий файл свойств
module-core/src/main/resources/application-production.properties
и имеет следующие пары ключ / значение
key1=value1
key2=value2
Модуль-приложение имеет следующий файл свойств и является EMPTY .Обратите внимание на небольшую разницу в пути - у него есть подкаталог «config» в пути, который не имеет модуль-ядро!
module-app/src/main/resources/config/application-production.properties
module-app затем имеет следующий XML-файл, который диктует (из того, что разработчики сказали мне)как пары ключ / значение в каждом файле свойств агрегируются
module-app/src/main/resources/admin-properties.xml
и имеют следующую строфу
<beans profile="production">
<context:property-placeholder
location="classpath:application.properties,classpath:config/application.properties,classpath:application-production.properties,classpath:config/application-production.properties"
ignore-unresolvable="true"/>
</beans>
После того, как я
$ ./gradlew clean build -x test
Модуль-app.war содержит файл module-core.jar
$ cd /path/to/module-app.war
$ tar -xvf module-app.war
$ cat ./WEB-INF/lib
$ tar -xvf module-core.jar
$ cat application-production.properties
и имеет правильные значения.
key1=value1
key2=value2
Однако, когда мы запускаем наш module-app.warприложение через tomcat, эти значения НЕ выбираются, как видно из журналов.
Чего мне не хватает?