gpt4 book ai didi

groovy - 如何在 Maven 配置文件中将 ${basedir} 属性的反斜杠替换为斜杠

转载 作者:行者123 更新时间:2023-12-04 15:48:27 25 4
gpt4 key购买 nike

我有一个带有定义属性的 pom.xml module.basedir 旨在包含转换后的 基于属性(property)。定义如下:

<properties>
<module.basedir>${basedir}</module.basedir>
</properties>

我有以下使用 mgroovy 插件执行的代码:
<source>
println project.properties['module.basedir']
project.properties['module.basedir']=project.properties['module.basedir'].replace('\\','/');
println project.properties['module.basedir']
</source>

后来我在其他插件中使用了这个属性。这工作正常,直到我将插件定义移动到 Maven 配置文件中。当 maven 配置文件被激活时,mgroovy 插件工作正常,但是当我在下一个插件中访问属性时,我得到未修改的值。

这是我访问此属性的方式:
${module.basedir}

看起来,当配置文件被执行时,它会创建项目中定义的属性的自己的副本,并在从插件引用时使用它们。

有什么建议么?

最佳答案

我在 Windows 上使用 gmaven-plugin 创建 EJB 模块描述时遇到了同样的问题。我不是 Groovy 的精通者,但这种方法对我有用:

def basedir = project.properties['module.basedir'].replace('\\','/')
def md = (basedir + "/target/module.xml" as File)

关于groovy - 如何在 Maven 配置文件中将 ${basedir} 属性的反斜杠替换为斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4353113/

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