【发布时间】:2012-10-11 00:14:41
【问题描述】:
我正在使用 ~/.m2/settings.xml 来存储我项目中 pom.xml 文件中使用的一些属性名称。如果我使 XML 无效(例如通过添加另一个
有人遇到过这个问题吗?我有点不知所措。
【问题讨论】:
标签: maven
我正在使用 ~/.m2/settings.xml 来存储我项目中 pom.xml 文件中使用的一些属性名称。如果我使 XML 无效(例如通过添加另一个
有人遇到过这个问题吗?我有点不知所措。
【问题讨论】:
标签: maven
反映来自 Maven 配置的属性通过资源过滤来工作。
确保您的settings.xml、项目 pom 和目标 xml 文件包含正确的配置并位于正确的位置。
如果我理解正确,您希望在 settings.xml 中存储属性名称和值,以便可以在您的项目文件中使用这些道具。我将提供一个工作示例:
在settings.xml 中定义默认配置文件和属性:
<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<someProp>Value</someProp>
</properties>
</profile>
</profiles>
在pom.xml中定义资源文件夹的filtering=true:
<build>
<resources>
<resource>
<directory>${basedir}/src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
在 xml 文件中定义属性(位于 src/main/resources folder 中):
...
<element>${someProp}</element>
...
在此之后,您应该会看到过滤后的结果,例如在目标/类/appBeans.xml 中。
请记住,如果您使用 Eclipse 和 m2eclipse 或类似插件,它可能不会在不重新启动 Eclipse 的情况下开始使用更新的settings.xml,并且它的自动构建有时会覆盖您在目标文件夹中的文件。我是从这里的经验说的:)
【讨论】:
Maven 属性不会反映在其他 XML 文件中。
如果您将这些属性之一添加到运行读取 allBeans.xml 的特定插件的特定 pom 的 <properties/> 元素中,是否有效?我相信它不会,您的问题将是添加到 <configuration/> 以便插件将 maven 属性传递给它。
如果您编辑您的问题以显示处理 appBeans.xml 的插件,我可以让这个更具体。
【讨论】: