1

我正在尝试编写一个 Windows 批处理脚本,给定一个路径,它将递归地搜索该目录以查找 maven 项目。当它找到所有 maven 项目路径后,我想针对这些项目中的每一个运行一些 maven 插件。

我的问题是,我不确定找到项目根源的最佳方法,因为我在我的 poms 中使用继承,例如

-/project
    -pom.xml

    -/module1
       -pom.xml

    -/module2
       -pom.xml

真的,我只想在这种情况下找到/project的路径,而不是 module1/2 的路径,例如父 pom 的位置。目前,我正在搜索所有内容并通过在 xml 文件中pom.xml扫描来确定哪个是父级。<packaging>pom</packaging>

这行得通,但我不禁觉得有更好的方法可以找到 maven 项目/父 pom。

4

1 回答 1

1

您的策略听起来不错,但也许我可以简化您的实施。(我很难说,因为你没有展示你目前是如何做的)。

您可以使用 FOR /F 循环简单地处理递归 FINDSTR 搜索的结果。

for /f "eol=: delims=" %%F in (
  'findstr /mls "<packaging>pom</packaging>" "yourRootPath\pom.xml"'
) do echo %%~dpF
于 2013-01-31T12:51:46.977 回答