在我当前的项目中,我有一个子模块,它使用maven exec插件来运行测试服务,该服务从resources / testResources文件夹之外的位置提取配置文件。
我需要使用过滤将环境变量注入到一些配置文件中。这适用于其中一个文件,一个.properties文件,但不适用于另一个.json文件。在后一种情况下,它只是将变量留在json文件中。这两个文件在过滤目录中彼此相邻。
以下是子模块的过滤片段:
<build>
<finalName>${artifactId}</finalName>
<testResources>
<testResource>
<filtering>true</filtering>
<directory>../etc</directory>
</testResource>
</testResources>
json文件:
{ "customMappings" :
{ "tag:example.com:/vagrant/" : "file:${VAGRANT_CWD}" }
}
缩写项目结构:
子模块肯定会加载两个文件,但只过滤.properties文件。
它是否有一些特殊的关于它是一个json文件会阻止过滤发生吗?有什么可以做的吗?
答案 0 :(得分:0)
对于它的价值,我最终还是做到了。我发现我必须直接列出要包含的文件才能对其进行处理(已经很长时间了,希望这是正确的解决方案):
<build>
<finalName>${artifactId}</finalName>
<testResources>
<testResource>
<filtering>true</filtering>
<directory>../etc</directory>
<includes>
<include>config.json</include>
<include>config.properties</include>
</includes>
</testResource>
</testResources>
...