我有一个maven多模块项目(模型,服务,工具,webapp)。我在webapp项目的pom.xml中定义了一些配置文件。
<profile>
<id>Dev</id>
<properties>
<db.driverClass>..</db.driverClass>
<db.connectionURL>..</db.connectionURL>
<db.username>..</db.username>
<db.password>..</db.password>
<pathFile>myFolder/myFirstPath/</pathFile>
</properties>
</profile>
<profile>
<id>Prod</id>
<properties>
<db.driverClass>..</db.driverClass>
<db.connectionURL>..</db.connectionURL>
<db.username>..</db.username>
<db.password>..</db.password>
<pathFile>myFolder/mySecondPath/</pathFile>
</properties>
</profile>
我正在尝试动态更改位于我的util项目中的属性路径。 这是我的模块化项目的骨架
|-- parent
`-- pom.xml
|-- model
| `-- pom.xml
|-- util
|--src
|--main
|--resources
|--props
props.properties
| `-- pom.xml
|-- webapp
` -- pom.xml
在util项目的pom.xml中,我启用了资源过滤
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
最后我写了
props.properties文件中的pathToChange = $ {pathFile}
。但是当我跑步时
mvn jetty:运行-P Dev
pathToChange属性的值不会更改。 我在哪里做错了?
答案 0 :(得分:2)
您已在错误的项目中定义了配置文件。您可以在webapp
中使用它们,而不是util
。这些项目属性仅与它们定义的项目相关,除非这是父pom。在一个pom中定义的属性不能(否则)用在另一个pom中。