我正在尝试使用特定于环境的属性(ftp连接)。为此,我尝试在我的父母pom中执行以下操作:
<profiles>
<profile>
<id>dev</id>
<properties>
<env>development</env>
</properties>
<activation>
<activeByDefault>true</activeByDefault> <!-- use dev profile by default -->
</activation>
</profile>
<profile>
<id>prod</id>
<properties>
<env>production</env>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<env>test</env>
</properties>
</profile>
</profiles>
并在我的“孩子”pom中执行以下操作:
<build>
<filters>
<filter>profiles/${env}/config.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
在那个子项目中,我创建了一个文件夹“profiles”,子文件夹为“development”,“test”和“production”。它们都有一个文件:config.properties with ftp.host = something。
在我的子项目中,我在src / main / resources文件夹中创建了一个.properties文件,其中包含以下内容: ftp.base.host = $ {ftp.host}
我认为这可以完成,但似乎不可能因为,当我获得属性时,我总是得到文字字符串“$ {ftp.host}”而不是“某事物”(在config.properties)..
有谁知道我做错了什么?除此之外的其他方法也可以。