Свойства файла JAR внутри файла WAR, не обнаруженные во время выполнения? - PullRequest
0 голосов
/ 19 октября 2018

Я парень из 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, эти значения НЕ выбираются, как видно из журналов.

Чего мне не хватает?

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