gpt4 book ai didi

maven - 我无法让 maven 使用 ~/.m2/settings.xml 中定义的属性?

转载 作者:行者123 更新时间:2023-12-01 10:08:51 25 4
gpt4 key购买 nike

我正在使用 ~/.m2/settings.xml 来存储在我的项目中的 pom.xml 文件中使用的许多属性名称。如果我使 XML 无效(例如通过添加另一个 <),maven 会立即生成一个错误,说它无法解析该文件。如果我保持 XML 有效,我的 appBeans.xml 文件中的设置不会选择对 settings.xml 中定义的属性的引用。

有没有人遇到过这个问题?我在这里有点不知所措。

最佳答案

从 Maven 配置反射(reflect)属性通过资源过滤工作。

确保您的 settings.xml 、项目 pom 和目标 xml 文件包含正确的配置并驻留在正确的位置。

如果我理解正确,您希望在 settings.xml 中存储属性名称和值,以便 Prop 可以在您的项目文件中使用。我将提供一个工作示例:

settings.xml 中定义默认配置文件和属性:

<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<someProp>Value</someProp>
</properties>
</profile>
</profiles>

pom.xml 中定义资源文件夹的过滤=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 或类似的插件,它可能不会开始使用更新的 settings.xml无需重新启动 Eclipse,它的自动构建有时会覆盖目标文件夹中的文件。我是从这里的经验谈:)

关于maven - 我无法让 maven 使用 ~/.m2/settings.xml 中定义的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7906372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com