1

パスを指定すると、そのディレクトリを再帰的に検索してMavenプロジェクトを探すWindowsバッチスクリプトを作成しようとしています。すべての Maven プロジェクト パスが見つかったら、これらの各プロジェクトに対していくつかの Maven プラグインを実行したいと考えています。

私の問題はこれです.pomで継承を使用しているため、プロジェクトのルートを見つける最良の方法がわかりません.

-/project
    -pom.xml

    -/module1
       -pom.xml

    -/module2
       -pom.xml

実際には、このインスタンスで/projectのパスのみを見つけたいだけで、module1/2 のパスではなく、たとえば親 pom がどこにあるかを知りたいのです。現時点では、xml ファイルpom.xmlをスキャンして、すべてを検索し、どれが親であるかを調べています。<packaging>pom</packaging>

これは機能しますが、maven プロジェクト/親 poms を見つけるためのより良い方法があると感じずにはいられません。

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 に答える