我可以使用“include”选项(或类似的选项)将任何属性文件包含到另一个属性文件中吗?
所以,我有两个属性文件: 1.“firstPropertiesFile”,其中包含下一个字符串:
include = secondaryPropertiesFile #第二个属性文件的路径
和
“secondPropertiesFile”包含下一个字符串:
键=值
我还有资源文件(将按资源过滤的文件:资源目标)包含:
${键}
当我调用 resources:resources 目标时,我期望接下来的步骤:
资源插件查看firstPropertiesFile 文件并发现它包含对另一个属性文件的引用。
该插件转到引用(第二个属性文件的路径)并查看必要的键并获取值(在我们的例子中为值)。
但这种方式在maven中不行。你能告诉我如何实现这一点吗?
PS 此选项在 Apache Commons 配置中受支持:http://commons.apache.org/proper/commons-configuration/userguide/howto_properties.html (“包括”章节)。
我有两个属性文件:
#environment.properties
env = production
Run Code Online (Sandbox Code Playgroud)
第二个文件是:
#commons.properties
production.port = 123
test.port = 567
Run Code Online (Sandbox Code Playgroud)
另外,我有需要通过 environment.properties 文件和 commons.properties 文件过滤并复制的资源文件。资源文件包含:
${${env}.port}
Run Code Online (Sandbox Code Playgroud)
所以,我想用第一个文件过滤我的资源文件并得到:${production.port}
然后我想用第二个过滤器文件过滤它并得到:123
我使用 maven 3.2.5 并且根本没有过滤资源文件。我知道存在与此问题相关的问题:https : //jira.codehaus.org/browse/MRESOURCES-70但仍未解决。
所以,我的问题是 - 有没有办法解决这个问题?(实际上,我认为应该修改资源插件以使用嵌套属性过滤)。
第二个问题 - 确实存在通过重构来避免这个问题的任何方式,我的意思是任何其他架构解决方案。或者,如果你遇到同样的问题,你会怎么做?