我是一名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个模块,模块核心和模块应用,而模块应用取决于模块核心,所以我在我的模块应用/build.gradle文件中有此
dependencies {
compile project('module-core')
...
}
module-core具有以下属性文件
module-core/src/main/resources/application-production.properties
并具有以下键/值对
key1=value1
key2=value2
module-app具有以下属性文件,并且为 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
module-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
但是,当我们通过tomcat运行我们的module-app.war应用程序时,如日志中所示,这些值不会被获取。
我想念什么?